CVE-2024-4947
Google Chromium V8
2024-05-20
Google Chromium V8 contains a type confusion vulnerability that allows a remote attacker to execute code via a crafted HTML page.
Технический анализ и план устранения
Суть уязвимости
CVE-2024-4947 представляет собой критическую уязвимость типа Type Confusion (путаница типов) в движке JavaScript V8, который используется в Google Chrome, Microsoft Edge и других браузерах на базе Chromium.
Проблема возникает при компиляции кода JIT-компилятором (Just-In-Time) Maglev. Из-за некорректной проверки типов данных во время оптимизации кода, злоумышленник может заставить движок интерпретировать данные одного типа как другой. Это позволяет выполнить чтение или запись за пределами выделенной области памяти (Out-of-Bounds access), что в конечном итоге ведет к произвольному выполнению кода (RCE) в контексте процесса рендеринга браузера при посещении специально подготовленной веб-страницы.
Как исправить
Основным и единственным надежным способом устранения уязвимости является обновление браузера или платформы, использующей V8, до версии, в которой применен патч.
Для пользователей Google Chrome на Desktop (Windows, macOS, Linux): Необходимо обновить браузер до версии 125.0.6422.60/.61 или выше.
google-chrome --version
Для системных администраторов (Linux/Debian/Ubuntu): Обновите пакеты через менеджер пакетов.
sudo apt update && sudo apt install --only-upgrade google-chrome-stable
Для пользователей Microsoft Edge: Обновите браузер до версии 125.0.2535.51 или выше.
Для разработчиков (Node.js/Electron): Проверьте зависимости вашего проекта и обновите Electron или Node.js до версий, включающих исправление Chromium 125.0.6422.60.
Временные меры
Если немедленное обновление невозможно, используйте следующие методы для снижения риска эксплуатации:
-
Изоляция сайтов (Site Isolation): Убедитесь, что функция строгой изоляции сайтов включена. Это не предотвратит Type Confusion, но затруднит кражу данных между вкладками.
-
Отключение JIT-компиляции (V8 Optimizer): Запуск браузера с флагом, отключающим оптимизирующие компиляторы, значительно снижает поверхность атаки, так как уязвимость проявляется именно на этапе JIT-оптимизации.
google-chrome --js-flags="--no-maglev --no-turbofan"
-
Использование политик безопасности (Windows GPO): В корпоративной среде рекомендуется включить режим "Standard Business Forward" или активировать "V8 JavaScript engine JIT-less mode" через групповые политики.
-
Ограничение доступа: Используйте веб-фильтры для блокировки доступа к подозрительным или неизвестным ресурсам до момента установки патча.