TippingPoint Zero Day Initiative

Apple Webkit ConditionEventListener Remote Code Execution Vulnerability

ZDI-10-100: June 8th, 2010


CVSS Score

Affected Vendors

Affected Products

TippingPoint™ IPS Customer Protection

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

Vulnerability Details

This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Apple's Webkit. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.

The specific flaw exists within how the application duplicates event listeners in .svg documents. Upon creating an AnimateTransform object, the library will create a timer to handle the transformation and duplicate the object's event listener into Webkit's "shadow tree" of the image. Upon destruction of the shadow tree and the original tree, the application will destroy the Element containing the event listener twice. This can lead to code execution under the context of the application.

Vendor Response

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

Disclosure Timeline

    2010-02-18 - Vulnerability reported to vendor
    2010-06-08 - Coordinated public release of advisory


This vulnerability was discovered by:
    wushi of team509