На прошлой неделе разработчик и ИБ-специалист Сабри Аддуш (Sabri Haddouche) обнаружил интересную ошибку в коде в WebKit. Из-за этого бага происходят свои в работе как iOS- и macOS-приложений, работающих с WebKit, так и самих ОС.
Теперь Аддуш, который продолжает искать DoS-уязвимости в качестве хобби, обнаружил еще одну очень похожую проблему в коде браузера Firefox. Баг работает для Mac, Linux и Windows, но не для Android. Затронуты все последние версии, включая Firefox Developer и Nightly. Как и в случае WebKit, порой проблема влияет не только на сам браузер, но и на операционную систему в целом.
«Что произойдет, если скрипт сгенерирует файл (блоб), содержащий очень длинное имя файла и побуждающий пользователя загружать его каждую миллисекунду? Это приведет к флуду на IPC (Inter-Process Communication) — канал между основным и дочерним процессами Firefox. Что заставит браузер по меньшей мере начать “тормозить”», — рассказывает исследователь.
Уязвимость была добавлена на портал Browser Reaper, созданный специалистом. В случае Mac и Linux эксплуатация бага приводит к «падению» процесса браузера и появлению классического сообщения о сбое в работе.
(and yes, it includes a crash / freeze for Firefox and its source code as promised) pic.twitter.com/Q6UlBWIXe6
— Sabri (@pwnsdx) September 23, 2018
В случае Windows все несколько хуже. Эксплуатация ошибки приводит не только к проблемам с самим браузером, но может «подвесить» операционную систему в целом, и в итоге пользователю придется осуществить «жесткую» перезагрузку.
HTML-страница с proof-of-concept эксплоитом уже размещена на GitHub. Также исследователь уже уведомил о проблеме инженеров Mozilla, с баг-репортом и деталями можно ознакомиться здесь.