IBM Tivoli Storage Manager Mutiple Buffer Overflow VulnerabilitiesTPTI-06-14: December 4th, 2006
TippingPoint™ IPS Customer ProtectionTippingPoint IPS customers are protected against this vulnerability by Digital Vaccine protection filter ID 4248. For further product information on the TippingPoint IPS:
Vulnerability DetailsThese vulnerabilities allow attackers to execute arbitrary code on
vulnerable installations of IBM Tivoli Storage Manager. Authentication is not required to exploit these vulnerabilities.
The specific flaws are similar and exist in the processing of messages by the Tivoli Storage Manager service, bound on TCP port 1500. The messages are structured in the form [index][size]. The 'index' field specifies an integer offset into the body of the message for a specific field, and the 'size' field specifies the size of the indexed field.
As no validation is done on the index fields, an attacker can force the service to look beyond the end of the packet, often landing in unallocated memory and resulting in a denial of service.
The size fields are often checked to ensure they do not exceed the bounds of the destination buffers that data is being copied to. However, we have found the following four instances where the size files are left unchecked:
The initial sign-on request contains a field to specify the language. In normal cases we've seen, this string is dscenu.txt. Typically the server will validate that the language string is no longer than 0x100 bytes. However, if the first byte of the language string is 0x18, this check will not occur, and a fixed sized buffer will be overrun.
Overflows 2 and 3
There is an overflow vulnerability in messages processed by the SmExecuteWdsfSession function. There are two fields in this request, both are copied into fixed sized buffers, without any validation of their lengths.
There is an overflow in the open registration message due to an unchecked copy into a fixed size buffer for the contact field of the registration.
All four of the above detailed overflows can lead to arbitrary code execution under the context of the Tivoli service.
Vendor ResponseIBM has issued an update to correct this vulnerability. More details can be found at:
2006-05-09 - Vulnerability reported to vendor
2006-12-04 - Coordinated public release of advisory