CVE-2019-5825

Google Chromium V8

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-06-08

Официальное описание

Google Chromium V8 Engine contains an out-of-bounds write vulnerability that allows a remote attacker to potentially exploit heap corruption via a crafted HTML page. This vulnerability could affect multiple web browsers that utilize Chromium, including, but not limited to, Google Chrome, Microsoft Edge, and Opera.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2019-5825 представляет собой критическую уязвимость записи за пределами границ (Out-of-Bounds Write) в JavaScript-движке V8, используемом в браузере Chromium. Проблема возникает из-за некорректной обработки массивов и оптимизации кода в JIT-компиляторе (Just-In-Time).

Злоумышленник может создать специально подготовленную HTML-страницу с вредоносным JavaScript-кодом. При посещении такой страницы происходит повреждение данных в куче (Heap Corruption), что позволяет атакующему выйти за пределы песочницы браузера и выполнить произвольный код в контексте текущего пользователя. Уязвимость затрагивает все браузеры на базе Chromium (Chrome, Edge, Opera, Brave) версий до 74.0.3729.131.

Как исправить

Основным и единственным надежным способом устранения данной уязвимости является обновление браузера или используемых библиотек Chromium до актуальной версии, где патч уже применен.

Для пользователей Google Chrome (Linux/Debian/Ubuntu):

sudo apt update && sudo apt --only-upgrade install google-chrome-stable

Для администраторов Windows (PowerShell - принудительное обновление Edge):

Start-Process -FilePath "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" -ArgumentList "--edge-update"

Для разработчиков (обновление V8 в проектах Node.js): Необходимо обновить Node.js до версии, включающей исправленный движок V8 (минимум v12.2.0 или v10.15.3 LTS).

nvm install --lts

Временные меры

Если немедленное обновление невозможно, необходимо минимизировать поверхность атаки следующими методами:

1. Использование политик изоляции сайтов (Site Isolation): Включите строгую изоляцию сайтов через групповые политики или флаги браузера, чтобы ограничить возможность эксплуатации межсайтовых данных.

2. Отключение JIT-компиляции (режим повышенной безопасности): Запуск браузера с флагом, отключающим оптимизацию JavaScript, которая является вектором атаки.

google-chrome --js-flags="--no-opt"

3. Ограничение выполнения JavaScript: Используйте расширения (например, NoScript) или настройки контента для блокировки выполнения JavaScript на недоверенных ресурсах.

4. Использование песочницы ОС: Запускайте браузер в изолированной среде (Sandbox) или контейнере, чтобы предотвратить компрометацию основной операционной системы в случае успешного выполнения кода.