Apple Safari SVG Set.targetElement() Memory Corruption Vulnerability
ZDI-09-034: June 8th, 2009CVE ID
Affected Vendors
Affected Products
TippingPoint™ IPS Customer Protection
TippingPoint IPS customers are protected against this vulnerability by Digital Vaccine protection filter ID 6569. For further product information on the TippingPoint IPS:Vulnerability Details
This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Apple Safari. User interaction is required to exploit this vulnerability in that the target must visit a malicious page.
The specific flaw exists in the garbage collection of JavaScript set elements in WebCore. When an SVG set object is appended to an SVG marker element that is dereferenced, calls to the targetElement attribute will fail to reference count the marker element. When the set element is appended to another object, subsequent calls to the targetElement attribute will result in a heap corruption which can be leveraged to execute arbitrary code under the context of the current user.
Vendor Response
Apple has issued an update to correct this vulnerability. More details can be found at:Disclosure Timeline
-
2008-11-10 - Vulnerability reported to vendor
2009-06-08 - Coordinated public release of advisory
Credit
This vulnerability was discovered by:-
Anonymous
