Chrome'догу 0 күндүк аялуу V8 кыймылдаткычындагы өзгөртүүлөрдү талдоо аркылуу аныкталган

Исследователи из компании Exodus Intelligence көрсөттү слабое место в процессе исправлений уязвимостей в кодовой базе Chrome/Chromium. Проблема связана с тем, что Google раскрывает сведения, что внесённые исправления имеют отношение к проблемам с безопасностью только после релиза, но
добавляет в репозиторий код для устранения уязвимости в движке V8 до публикации релиза. Какое-то время исправления проходят тестирование и возникает окно, в течение которого уязвимость становится исправленной в кодовой базе и доступной для анализа, но уязвимость остаётся неисправленной на системах пользователей.

Изучая вносимые в репозиторий изменения исследователи обратили внимание на добавленное 19 февраля оңдоо и в течение трёх дней смогли подготовить эксплуатациялоо, поражающий актуальные выпуски Chrome (опубликованный эксплоит не включал компоненты для обхода sandbox-изоляции). Компания Google оперативно бошотулду обновление Chrome 80.0.3987.122, устранив связанную с предложенным эксплоитом аялуу (CVE-2020-6418). Уязвимость была изначально выявлена инженерами Google и вызвана проблемой с обработкой типов в операции JSCreate, которая может быть эксплуатирована через метод Array.pop или Array.prototype.pop. Примечательно, что похожая проблема была белгиленген в Firefox летом прошлого года.

Исследователи также обратили внимание на упрощение создания эксплоитов из-за включения в Chrome 80 механизма упаковки указателей (вместо полного 64-разрядного значения хранятся только уникальные нижние биты указателя, что позволяет значительно сократить потребление памяти в куче). Например, некоторые находящиеся в начале кучи структуры данных, такие как таблица встроенных функций, объекты «native context» и корневые объекты сборщика мусора, теперь размещаются по предсказуемым и доступным на запись упакованным адресам.

Интересно, что почти год назад компанией Exodus Intelligence была сделана аналогичная демонстрация возможности создания эксплоита на основе изучения публичного лога исправлений в V8, но, судя по всему, должных выводов не последовало. На месте исследователей
Exodus Intelligence могли оказаться злоумышленники или спецслужбы, которые при создании эксплоита имели бы возможность дни или даже недели скрыто эксплуатировать уязвимость до формирования очередного релиза Chrome.

Source: opennet.ru

Комментарий кошуу