Доступен (https://www.mozilla.org/en-US/firefox/52.0.1/releasenotes/) корректирующий выпуск Firefox 52.0.1 c устранением уязвимости (https://www.mozilla.org/en-US/security/advisories/mfsa2017-08/) (CVE-2017-5428 (https://security-tracker.debian.org/tracker/CVE-2017-5428)), которой присвоен критический уровень опасности. Уязвимость была продемонстрирована (https://twitter.com/thezdi/status/842546893989138432) командой Chaitin Security Research Lab в рамках конкурса Pwn2Own 2017 (https://www.opennet.me/opennews/art.shtml?num=46213).В сочетании с системной уязвимостью в ядре Windows, позволившей выйти за пределы sandbox-окружения, проблема в Firefox дала возможность организовать выполнение кода в системе при открытии в браузере специально оформленной web-страницы. Проблема вызвана целочисленным переполнением в функции createImageBitmap(). Для блокирования уязвимости разработчики Firefox временно отключили экспериментальный API createImageBitmap. Вызов
createImageBitmap() (https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap...) был добавлен в Firefox 42 и позволял получить картинку из содержимого тегов canvas, img и video, в том числе сохранить соответствующий заданным координатам блок.URL: https://www.mozilla.org/en-US/firefox/52.0.1/releasenotes/
Новость: http://www.opennet.me/opennews/art.shtml?num=46215
> Для блокирования уязвимости разработчики Firefox временно отключиличитай - у них не хватило мозга быстро понять, в чем уязвимость, и они просто заблокировали фичу преференсом.
пруф:
https://git.centos.org/compare/rpms!firefox.git/51a52cd48765...
- обратить внимание, что любителям сборок прямо из под компилятора предлагают самим о себе заботиться(сам баг, ну конечно же, доступен для изучения только доверенным людям -https://bugzilla.mozilla.org/show_bug.cgi?id=1348168 - вжoпенсорсе, оно такое вот)
> они просто заблокировали фичу преференсомНа то она и экспериментальная фича. Захотели включили, захотели выключили.
> читай - у них не хватило мозга быстро понять, в чем уязвимостьЧитай ещё раз - фича экспериментальная. Самый простой и быстрый способ убрать критическую уязвимость в ней - взять и выключить её к чёртовой бабушке, а потом спокойно за день (неделю, месяц ...) разобраться в чём проблема и сделать нормальный патч, а не костылить по-быстрому.
> любителям сборок прямо из под компилятора предлагают самим о себе заботитьсяЧто в этом необычного?
> сам баг, ну конечно же, доступен для изучения только доверенным людямА ты хочешь, чтобы эксплойт в паблике был быстрей чем патч? Или исходники FF тебе не дают?
> вжoпенсорсе, оно такое вотв клоузедсоурсе, с критическими уязвимостями, тоже. И?
>> они просто заблокировали фичу преференсом
> На то она и экспериментальная фича. Захотели включили, захотели выключили.простите, что такое "экспериментальная фича"? В релизе? В релизе.
Отключается пользователем? Нет, не отключалась (собственно, именно эту возможность патч и добавляет).
А-а-а, это мазила-адвокаси вам напела что "экспериментальная", да?>> читай - у них не хватило мозга быстро понять, в чем уязвимость
> Читай ещё раз - фича экспериментальная. Самый простой и быстрый способ убрать
> критическую уязвимость в ней - взять и выключить её к чёртовойкто гарантирует, что уязвимость убрана?
Кто гарантирует, что до такого кода нельзя добраться иным способом?
Самый надежный способ убрать уязвимость - выкинуть к чортовой бабушке вызвавший ее код (раз уж он такой мутный, что ниаслили понять,где косяк), но этого как раз не сделано - видимо, вызвавший его к жизни тикет открыт чуваком правильной сексуальной ориентации.> бабушке, а потом спокойно за день (неделю, месяц ...) разобраться в
> чём проблема и сделать нормальный патч, а не костылить по-быстрому.в данном случае - именно накостылено побыстрому.
>> любителям сборок прямо из под компилятора предлагают самим о себе заботиться
> Что в этом необычного?вообще-то known уязвимость в наисвежайшей сборке, даже вот временным выключателем не прикрытая - это немного необычно, да.
>> сам баг, ну конечно же, доступен для изучения только доверенным людям
> А ты хочешь, чтобы эксплойт в паблике был быстрей чем патч? Иликакой эксплойт? в баге обычно не эксплойт, а описание проблемы и патчи ее решающие.
И да, я не прочь бы увидеть, что их кто-то вообще собрался решать, а не отложил решение в долгий ящик.> исходники FF тебе не дают?
а наxер они нужны? Исходники такого размера без сопровождающей девелоперской документации - куча бесполезного мусора.
>> вжoпенсорсе, оно такое вот
> в клоузедсоурсе, с критическими уязвимостями, тоже. И?"ачотаму$о$лов?!"
Очевидно, фича стала экспериментальной сразу как идиоты поняли что снова налажали
мне кажется, вы слишком хорошего мнения о мозильных пиарменеджерах.
Скорее всего тут трудности перевода, или даже двух (первый - с девелоперского на менеджерский), и фича действительно была "экспериментальной" - в том и только том смысле, что это еще не пропихнуто в стандарты, (как префиксы "-moz-" в стилях, например - некоторые по пять лет "экспериментальными" числятся) а не в том, что такой код должен вообще не уходить дальше nightly и при этом быть отключаемым, как всякое ненужно.И именно в виду горячей жажды успеть застолбить первыми, они и пихнули этот код в релиз, не проведя толком ревью.
> Очевидно, фича стала экспериментальной сразу как идиоты поняли что снова налажалиФича изначально была экспериментальной, и включена только для экспериментальных сборок. См. комментарий #14
> простите, что такое "экспериментальная фича"? В релизе? В релизе.Фича, которой если захочешь, можешь включить и пользоваться, но никто не отвечает, что она работает правильно.
> Отключается пользователем? Нет, не отключаласьОна вообще-то по умолчанию отключена в релизной сборке (http://imgur.com/a/kC5DU). Теперь отключена вообще всегда. Ты патч-то, на который ссылку прислал, читал?
> кто гарантируетуязвимость не убрана, но модуль в котором она содержится вырублен, теперь вообще всегда, если ты его явно не включишь.
> Самый надежный способ убрать уязвимость - выкинуть к чортовой бабушке вызвавший ее кодСильное заявление. И как ты предполагаешь его просто выкинуть? Ты уверен, что при этом не будет никаких последствий? Сколько времени потребуется на это "просто выкинуть" и проверить последствия этого "просто"?
> в данном случае - именно накостылено побыстромуВ данном случае именно что выключено и, если хочешь экспериментов, то бери и включай сам.
> а описание проблемы и патчи ее решающие... и описание атаки, и конкретное место где переполнение, и не факт, что есть патчи. Просто подарок, для того, чтобы пилить эксплойт.
> Исходники такого размера без сопровождающей девелоперской документацииТо есть людей, уже знакомых с этим кодом, ты в расчёт не берёшь? Даже место указано, где происходит переполнение. Найти его в сорцах FF - дело пяти минут. А вот как заюзать, тут уже изучать и думать надо.
> "ачотаму$о$лов?!"Сам начал, самвозмущаюсь? Или ты предлагаешь до выхода патча и обновления FF в сборках и репах, выкладывать подробную инфу об атаке в паблик? В каком ***соурс так делают?
> Она вообще-то по умолчанию отключена в релизной сборке (http://imgur.com/a/kC5DU).занятно, вот это бы пиарменеджерам и озвучить.
> Ты патч-то, на который ссылку прислал, читал?если ты не понял, я прислал ссылку не на патч, который простым смертным просто так, не зная кода, не найти, ибо баг-то для посвященных онли, а на автоматический компаратор патчей имени редхата. И да, не заметил что там надо внимательно читать второй ряд плюсиков.
> Сильное заявление. И как ты предполагаешь его просто выкинуть? Ты уверен, что
return false ?
> при этом не будет никаких последствий? Сколько времени потребуется на этоэ... у мазилы нет ни юнит-тестов, ни хотя бы общего usability-test перед выкатыванием релизов? Не надо мне о них так плохо говорить, я все же хотел бы верить в человечество (да и под собственным весом бы все давно рухнуло)
> ... и описание атаки, и конкретное место где переполнение, и не факт,
> что есть патчи. Просто подарок, для того, чтобы пилить эксплойт.те, кто их пилит, скорее всего как раз вхожи в мазиладевелопмент, и у них есть если не вся, то изрядная часть нужной информации. Не говоря уже о тех, у кого эксплойт уже есть, причем нашли проблему они раньше мазильцев.
> Сам начал, самвозмущаюсь? Или ты предлагаешь до выхода патча и обновления FF
хотя бы одновременно с.
> в сборках и репах, выкладывать подробную инфу об атаке в паблик?о _проблеме_.
> В каком ***соурс так делают?да в общем-то много где так делают, чтобы лишний раз пугнуть пользователей и заставить их обновляться.
> простите, что такое "экспериментальная фича"? В релизе? В релизе.
> Отключается пользователем? Нет, не отключалась (собственно, именно эту возможность патч и добавляет).
> А-а-а, это мазила-адвокаси вам напела что "экспериментальная", да?Если вы о том патче, на который дали ссылку, то он не добавляет возможность отключения фичи, он отключает её для всех. А возможность отключения была и раньше.
Разбираю по полочкам:
Коммит, на который вы дали ссылку, создаёт файл SOURCES/mozilla-1348168.patch. Левый ряд плюсов там показывается потому, что создаётся новый файл. Его содержимое - это содержимое этого зелёного бокса, но без этого одного ряда плюсов. Сам файл - тоже дифф, поэтому есть второй ряд плюсов и минусов. На него и надо смотреть.-#ifdef RELEASE_OR_BETA
+// Disable the ImageBitmap-extensions for now.
pref("canvas.imagebitmap_extensions.enabled", false);
-#else
-pref("canvas.imagebitmap_extensions.enabled", true);
-#endifТо есть раньше фича была включена только для экспериментальных сборок, а теперь ни для кого.
> и они просто заблокировали фичу преференсом.Врёти. На винде патч весил 10 мегабайт.
>> и они просто заблокировали фичу преференсом.
> Врёти. На винде патч весил 10 мегабайт.никто ж не обещал что там только это исправление. К тому же при смене в коде цифирки релиза, бинарный дифф будет таки не на два байта - оная цифирка там в тыще мест прибита.
Обещали. Только эта уязвимость.
https://www.mozilla.org/en-US/firefox/52.0.1/releasenotes/
https://www.mozilla.org/en-US/security/known-vulnerabilities...
> бинарный дифф будет таки не на два байтаВ торбраузере видел 5-6 мб патчи часто. И от самой лисы 6 на минорных. Тут жирноват таки.
>у них не хватило мозга быстро понять, в чем уязвимость, и они просто заблокировали фичу преференсомне суди по себе
Лучше бы они исправили уязвимость с пропаданием поддержки Alsa.
пора уже делать что-то наподобие фаервола, но для API
> пора уже делать что-то наподобие фаервола, но для APIпоздравляю с изобретением sandbox.
помогает, что характерно, примерно как файрволл - то есть крайне редко (потому что это опять заметание крошек под плинтус, а не устранение проблемы)
"...В сочетании с системной уязвимостью в ядре Windows, позволившей выйти за пределы sandbox-окружения..." ;)А сама по себе изоляция - штука полезная. Не бывает кода без багов, особенно если код немного сложнее, чем Hello World.
Судя по официальной информации [1] и по элементарной проверке `'createImageBitmap' in window`, отключили не целиком `createImageBitmap()`, а только экспериментальные _дополнительные_ возможности (видимо, [2]).> The fix for this vulnerability disables the experimental extensions to the createImageBitmap API.
[1] https://www.mozilla.org/en-US/security/advisories/mfsa2017-08/
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1141979
> только экспериментальные _дополнительные_ возможностину да, иначе бы они canvas вообще сломали бы напрочь.
но исходный-то поинт был не в этом, а в том что выдавать изменение положения переключателя в конфиге за исправление связанное с безопасностью, это даже для мазиллы немного, гхм, необычно.
кстати, в [2] вроде все правки честно пропущены через review и обтыканы тестами. Чавой-то нам врут, что ревью не было? ;-)
P.S. кто знает, что за хрень эта foxeye? Походу, тырилка экрана пользователя?
В браузере с большим набором функций и со своим движком оно и должно было произойти. В отличие от Google Chrome и т.п. браузеров, где функционал не дотягивает, там их намного думается мне больше. Уверен, отрубили, допилят. И всё на этом.