Technical Analysis of CVE-2012-1889 Exploit HTML_EXPLOYT.AE Part 2

In the first part of our three-part blog entry about HTML_EXPLOYT.AE, we provided an analysis on how HTML_EXPLOYT.AE uses Microsoft XML Core Services vulnerability (CVE-2012-1889). As previously discussed, HTML_EXPLOYT.AE has three key features: its usage of Microsoft XML Core Services, use of heap spray technique, and No ROP (Return-Oriented-Programming) function. In the second part of this three-part series, we will now focus on how HTML_EXPLOYT.AE uses the heap spray technique.

HTML_EXPLOYT.AE Feature 2 : Heap Spray

When we checked the error codes below using Windbg, HTML_EXPLOYT.AE uses heap overflow instead of stack overflow to refer to an object and call its virtual function. Heap Spray is a technique used in exploits in order to facilitate arbitrary code execution.

Based on our analysis, HTML_EXPLOYT.AE uses the following heap spray code below:

Using Windbg, we were also able to check the heap spray memory area created by HTML_EXPLOYT.AE. The following code shows that the number of heap-sprayed block amounted to 230 and each block contains 80,000 bytes.

Below is the malicious code in the heap spray memory area

Because Microsoft XML Core Services is installed on most PCs and the attack code is made public, HTML_EXPLOYT.AE may potentially have a significant impact among PC users everywhere. We may see potential attackers exploring this threat to target users with their malicious schemes. Users are advised to regularly update their systems with the latest security patch distributed by software vendors. Microsoft also released a fix tool as a workaround solution for this vulnerability. For added precaution, users must be wary of visiting untrusted sites and opening email message from unknown senders. Observing best practices is important in preventing this kind of attack.