[prev in list] [next in list] [prev in thread] [next in thread] 

List:       full-disclosure
Subject:    [FD] =?utf-8?q?MSIE_9_IEFRAME_CMarkup=C2=ADPointer=3A=3AMove?= =?utf-8?q?=C2=ADTo=C2=ADGap_use-after
From:       Berend-Jan Wever <berendj () nwever ! nl>
Date:       2016-12-15 14:59:15
Message-ID: baa9b81f-0af8-bc56-5ef3-360edfa0ee78 () nwever ! nl
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


Since November I have been releasing details on all vulnerabilities I
found that I have not released before. This is the 33rd entry in the
series. This information is available in more detail on my blog at
http://blog.skylined.nl/20161215001.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 183yyxa9s1s1f7JBp ­PHPmz ­Q346y91Rx5DX.

Follow me on http://twitter.com/berendjanwever for daily browser bugs.

MSIE 9 IEFRAME CMarkupPointer::MoveToGap use-after-free
=======================================================
(The fix and CVE number for this issue are not known)

Synopsis
--------
A specially crafted web-page can trigger a use-after-free vulnerability
in Microsoft Internet Explorer 9. The use appears to happen only once
almost immediately after the free, which makes practical exploitation
unlikely.

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
-------
It appears there is an implementation bug in the `splitText` method of
`CDATASection` (Text) objects in SVG. `splitText` should split a `Text`
node into two `Text` nodes, by creating a new `Text` node and moving
some of the text data from the original node to the new node. After
this, each node contains a sub-string of the original text.

The bug can be triggered by calling this method with zero as the index
argument on a `CDATASection` which contains some text. In this case, the
code will return a new `Text` node that contains the entire text but it
does not remove the text from the original node. I am speculating that
this causes an additional reference to the test data without increasing
its reference counter. This failure to increase the reference counter
can cause this reference counter to drop to zero before all references
are destroyed.

Time-line
---------
* Unknown date: This vulnerability was found through fuzzing.
* 12 December 2012: This vulnerability was submitted to EIP.
* 21 January 2013: This vulnerability was rejected by EIP.
* Unknown date: This vulnerability was address by Microsoft.
* 15 December 2016: Details of this vulnerability are released.

Cheers,

SkyLined

["0x2557C5AA.asc" (application/pgp-keys)]
["signature.asc" (signature.asc)]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJYUq/LAAoJEJ0drYglV8WqAQwQAIqkG38orFUNkTYSluYWfOgO
xokHXMGQnIE+tgUkHmPtyM9nmD7XG0WHNuyZHbSxZV9fqnkbf9/uSY0TqpNpKkFT
9dBPYfCpeIxELaQsySkrjoFCH+fhrKTQv0aJiIGLyPbn9hUgcnUnGc21ddDsHXMB
o5t/iSwMGgRaB8qNg+r0j5QmZsQ2S4SKowIxa6eiOJIt0m6ANe33LC680XOFhq/T
PQuBitQmThCypE26ObUk3lOfcorqmjdLsdmKExCFYHPxxZKBHtO/5KH7tnUFRQJk
Y8jg+0ok1v/4CzcHQUAjt4EVYbKfNiAGUcCodwsrRT8sQlljNiVFIIy8jW0bJmoh
wDxsLJlqe72s3Kr5JmSInXa2GI4wj6HF6Sig17uZ2ScilJdbgp/LT10GGOO/Atd8
JCL+EQ7vNE8qbBxDWOYWFBiPm1rbuC3J3eXZhFDo55bf3MQxJspnYqYdvXiWfoT9
6NW71WI63n0cxAPWAE2IwbFdZUut45opzXep03mks7ILr6fJtNqBF/yaSBwEymLW
vUF0BWL47w7Ix3bGIl6zqoinYVJECMKCeiNym3soRG2IpNIARwSp2jLUt3UFvu/8
it2zT1rkVkLTRF+M7z72t19xkxuP2NlqGOBEuJDTGsZlE1tBKczJ0km2Oq9XMxEU
4ucO3sgtGYL/KQ3PywSo
=l5vx
-----END PGP SIGNATURE-----

--PLsaQRAwLdanVC7o0hKRiIJPNIFtlMvqm--


_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic