what you don't know can hurt you

Microsoft Internet Explorer 11 MSHTML CPasteCommand::ConvertBitmaptoPng Buffer Overflow

Microsoft Internet Explorer 11 MSHTML CPasteCommand::ConvertBitmaptoPng Buffer Overflow
Posted Dec 21, 2016
Authored by SkyLined

Microsoft Internet Explorer version 11 suffers from an MSHTML CPasteCommand::ConvertBitmaptoPng heap-based buffer overflow vulnerability.

tags | advisory, overflow
advisories | CVE-2014-4138
MD5 | cc6c137463ead069198238ae61374033

Microsoft Internet Explorer 11 MSHTML CPasteCommand::ConvertBitmaptoPng Buffer Overflow

Change Mirror Download
Since November I have been releasing details on all vulnerabilities I
found that I have not released before. This is the 37th entry in the
series. This information is available in more detail on my blog at
http://blog.skylined.nl/20161221001.html. There you can find a repro
that triggered this issue in addition to the information below, as well
as a Proof-of-Concept exploit that attempts to prove exploitability.

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 11 MSHTML CPasteCommand::ConvertBitmaptoPng heap-based BOF
===============================================================
(MS14-056, CVE-2014-4138)

Synopsis
--------
A specially crafted web-page can trigger an out-of-bounds write in
Microsoft Internet Explorer 11. Code that handles pasting images from
the clipboard uses an incorrect buffer length, which allows writing
beyond the boundaries of a heap-based buffer. An attacker able to
trigger this vulnerability can execute arbitrary code.

Known affected software, attack vectors and potential mitigations
-----------------------------------------------------------------
* **Microsoft Internet Explorer 11.0.9600.16521**

An attacker would need to get a target user to open a specially
crafted web-page. In order to trigger the issue, the web-page needs
to either programmatically copy/paste an image using Javascript or
get the user to do this (for instance by tricking the user into
typing keyboard shortcuts such as CTRL+C/CTRL+V) . By default, MSIE
prompts the user to allow or disallow programmatically copy/pasting
the first time a website tries to do this, so user-interaction is
normally required in such cases. Disabling the `Allow Programmatic
clipboard access` setting in `Internet Options` -> `Security
Settings` -> [Choose a zone] -> `Scripting` should prevent websites
from programmatically copy/pasting an image. Disabling execution of
scripts on web-pages altogether will have the same effect. Please
note that neither option prevents a website from social engineering
the user into typing a keyboard shortcut to copy/paste the image.

Details
-------
When an image is pasted in MSHTML, it gets converted from BMP format to
PNG. This is done in the `MSHTML!CPasteCommand::ConvertBitmaptoPng`
function. This function incorrectly uses the size of the original BMP
image to allocate memory for storing the converted PNG image. The PNG
image will be smaller than the BMP under most circumstances, but if a
specially crafted image leads to the original BMP image being smaller
than the converted PNG, the function will write PNG data beyond the
bounds of the allocated memory.

Exploit
-------
An attacker looking to exploit this issue will commonly attempt to get
the memory allocated to store the PNG image in a location that is
followed by a pre-allocated memory block that contains information the
attacker would like to modify. Using the buffer overflow, the attacker
can overwrite this pre-allocated memory block with attacker controlled
data. Depending on the type of the pre-allocated memory, this could
allow the attacker to read or modify arbitrary information within the
process and take control of execution flow. No attempt was made to
create a Proof-of-Concept that shows this level of control.

Time-line
---------
* 8 May 2014: This vulnerability was submitted to ZDI.
* 9 June 2014: This vulnerability was acquired by ZDI.
* 23 June 2014: This vulnerability was disclosed to Microsoft by ZDI.
* 14 October 2014: This vulnerability was address by Microsoft in
MS14-056.
* 21 December 2016: Details of this vulnerability are released.

Cheers,

SkyLined
Login or Register to add favorites

File Archive:

February 2021

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Feb 1st
    33 Files
  • 2
    Feb 2nd
    30 Files
  • 3
    Feb 3rd
    15 Files
  • 4
    Feb 4th
    8 Files
  • 5
    Feb 5th
    11 Files
  • 6
    Feb 6th
    2 Files
  • 7
    Feb 7th
    1 Files
  • 8
    Feb 8th
    37 Files
  • 9
    Feb 9th
    15 Files
  • 10
    Feb 10th
    11 Files
  • 11
    Feb 11th
    26 Files
  • 12
    Feb 12th
    8 Files
  • 13
    Feb 13th
    1 Files
  • 14
    Feb 14th
    1 Files
  • 15
    Feb 15th
    9 Files
  • 16
    Feb 16th
    33 Files
  • 17
    Feb 17th
    6 Files
  • 18
    Feb 18th
    10 Files
  • 19
    Feb 19th
    20 Files
  • 20
    Feb 20th
    1 Files
  • 21
    Feb 21st
    1 Files
  • 22
    Feb 22nd
    17 Files
  • 23
    Feb 23rd
    15 Files
  • 24
    Feb 24th
    16 Files
  • 25
    Feb 25th
    28 Files
  • 26
    Feb 26th
    25 Files
  • 27
    Feb 27th
    0 Files
  • 28
    Feb 28th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2020 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close