CVE-2017-5070

Google Chromium V8

ВЫСОКИЙ (8.8)

Вероятность (EPSS) 32.1%
Тяжесть (CVSS) CVSS 8.8
Дата обнаружения

2022-06-08

Профиль угрозы (Вектор)
Доступ
Сеть
Сложность
Низкая
Привилегии
Не требуются
Жертва
Клик/Действие
Строка: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Официальное описание

Google Chromium V8 Engine contains a type confusion vulnerability that allows a remote attacker to execute code inside a sandbox 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-2017-5070 представляет собой критическую уязвимость типа Type Confusion (путаница типов) в движке JavaScript V8, который используется в браузере Google Chrome и других проектах на базе Chromium.

Проблема возникает в модуле оптимизации (JIT-компиляторе TurboFan) при обработке определенных операций с массивами и объектами. Из-за некорректного предположения о типе данных в памяти, злоумышленник может заставить движок интерпретировать данные одного типа как другой (например, рассматривать указатель как целое число или наоборот). Это позволяет обойти механизмы безопасности JavaScript, получить доступ к чтению и записи произвольных областей памяти внутри песочницы (sandbox) и, в конечном итоге, выполнить произвольный код (RCE) при посещении пользователем специально сформированной веб-страницы.

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

Основным способом устранения является обновление браузера или используемой библиотеки Chromium до версии, в которой данная уязвимость была закрыта (версия 58.0.3029.110 и выше).

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

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

Для системных администраторов (Windows/PowerShell - принудительное обновление через Winget):

winget upgrade --id Google.Chrome

Для разработчиков (обновление V8 в проекте):

Необходимо обновить исходный код V8 до версии, включающей коммит с исправлением в файле src/compiler/typer.cc. После обновления требуется пересборка проекта.

git fetch origin && git checkout 5.8.283.38

gclient sync

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

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

  1. Включите строгую изоляцию сайтов (Site Isolation), чтобы ограничить потенциальное выполнение кода рамками одного процесса.
--enable-features=IsolateOrigins,site-per-process

  1. Отключите JIT-компиляцию (Just-In-Time compilation) в браузере. Это значительно снизит производительность JavaScript, но полностью заблокирует вектор атаки через TurboFan.
--js-flags="--no-opt"

  1. Используйте политики ограничения запуска приложений (AppLocker или Windows Defender Exploit Guard) для контроля дочерних процессов браузера.

  2. Ограничьте посещение недоверенных ресурсов и использование сторонних расширений до момента установки патча.

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

Пока никто не поделился опытом.
Станьте первым!