TippingPoint Digital Vaccine Laboratories
DID YOU KNOW... DVLabs team members gave 20 presentations throughout 2010. Abstracts and slides are available here.

SAP Crystal Reports 2008 GIOP Message Size Integer Overflow Remote Code Execution Vulnerability

TPTI-10-07: August 11th, 2010


Affected Vendors

Affected Products

    Crystal Reports

TippingPoint™ IPS Customer Protection

TippingPoint IPS customers are protected against this vulnerability by Digital Vaccine protection filter ID 9846. For further product information on the TippingPoint IPS:

Vulnerability Details

This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of SAP Crystal Reports. Authentication is not required to exploit this vulnerability.

The specific flaw exists within the ebus-3-3-2-6.dll module responsible for parsing GIOP requests for multiple processes. While parsing the first packet the function OBGIOPServerWorker::extractHeader trusts the provided size of the next packet and attempts to re-allocate a buffer. By providing a large enough value an integer overflow can occur and the buffer can become undersized. A later memory copy using the original value specified in the packet can copy controlled data to the heap buffer. The affected services spawn multiple threads frequently enough that an attacker can theoretically win a race condition by sending multiple requests thus forcing the process to access the corrupted memory while the overflow is occurring. Successful exploitation would lead to remote code execution in the context of the SYSTEM user.

Vendor Response

SAP has issued an update to correct this vulnerability. More details can be found at:

Disclosure Timeline

    2010-05-03 - Vulnerability reported to vendor
    2010-08-11 - Coordinated public release of advisory


This vulnerability was discovered by: