TippingPoint Zero Day Initiative

Apple Webkit First-Letter Pseudo-Element Style Remote Code Execution Vulnerability

ZDI-10-098: 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 9871. 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 in that a user must visit a website or open a malicious document.

The specific flaw exists within the way Webkit implements the 'first-letter' css style. If a container with the first-color style has it's contents replaced with a particular element, the library will create a dual reference of the style in order to apply to its contents. Later when the element is freed, the dangling reference will still be applied to the style. Upon navigating the document's styles for either repainting or style recalculation, the application will access the freed memory which 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-23 - Vulnerability reported to vendor
    2010-06-08 - Coordinated public release of advisory


This vulnerability was discovered by:
    wushi of team509