Компания Exodus Intelligence, специализирующейся на продаже спецслужбам и корпорациям информации о неисправленных уязвимостях, обратила внимание (https://blog.exodusintel.com/2019/04/03/a-window-of-opportunity/) на слабое место в процессе устранения уязвимостей в браузере Chrome, позволяющее злоумышленникам получать информацию о проблемах и создавать эксплоиты ещё до выпуска обновления браузера с устранением уязвимости. Проблема касается утечки сведений о проблемах в исправлениях, вносимых в JavaScript-движок V8.
Информация об уязвимостях в Chrome до выпуска релиза обрабатывается в закрытых отчётах об ошибках, доступных только небольшой группе основных разработчиков и не публикуемых публично до выхода исправлений. В случае, если уязвимость касается движка V8, исправления вносятся в его кодовую базу отдельно и некоторое время уязвимость становится исправленной в V8, но не исправленной в Chrome. Злоумышленники могут отследить подобные исправлений, проанализировать их и использовать для атаки на актуальные выпуски Chrome, воспользовавшись тем, что какое-то время уже засветившаяся в коде V8 проблема остаётся неисправленной в Chrome.
В качестве демонстрации своей теории, исследовали подготовили рабочий прототип эксплоита (https://github.com/exodusintel/Chromium-941743/), позволяющий атаковать полностью обновлённые выпуски Chrome. Эксплоит позволяет запустить системный калькулятор при открытии специально оформленной страницы, но для работы требует запуска браузера с опцией "--no-sandbox" для отключения sandbox-окружения. Эксплоит ограничен одной уязвимостью чтобы разработкой не могли воспользоваться злоумышленники и применить ещё не исправленную уязвимость для совершения злонамеренных действий (для совершения реальной атаки требуется выявление ещё одной уязвимости для выхода из sandbox).
Предложенный эксплоит был подготовлен по следам ошибки (https://chromium-review.googlesource.com/c/v8/v8/+/1526018) в реализации Array.prototype.map, которая исправлена в V8 18 марта, но остаётся неисправленной в Chrome. В случае, если бы эксплоит по мотивам данной ошибки был создан злоумышленниками, которые дополнительно имели сведения об ещё одной уязвимости для обхода sandbox, то они могли около двух недель применять этот эксплоит для атак на пользователей с самой свежей версией Chrome.
Текущий процесс разработки Chrome включает стадии для тестирования изменений перед их поставкой в финальном релизе. Например, используемая в эксплоите проблема вначале была исправлена в кодовой базе Chromium, после этого перенесена в экспериментальные ветки Chrome
Canary и Beta для тестирования перед включением в стабильную ветку. Время тестирования обычно занимает от нескольких дней до нескольких недель.
URL: https://blog.exodusintel.com/2019/04/03/a-window-of-opportunity/
Новость: https://www.opennet.dev/opennews/art.shtml?num=50457