Безопасность значения Sentinel Chrome V8: Утечка неинициализированного объекта Oddball может привести к побегу из песочницы.

robot
Генерация тезисов в процессе

Уязвимость Sentinel Value в Chrome V8

Сентинельное значение — это специальное значение в алгоритмах, которое часто используется в качестве условия завершения циклов или рекурсивных алгоритмов. В исходном коде Chrome существует множество сентинельных значений, некоторые из которых, если они будут раскрыты в среде JavaScript, могут привести к проблемам с безопасностью.

Ранее исследования показали, что утечка объекта TheHole может привести к выполнению произвольного кода в песочнице. Команда Google исправила это. Однако на самом деле в V8 есть и другие встроенные объекты, которые не должны утекать в JS, такие как Uninitialized Oddball.

Утечка неинициализированного объекта Oddball может привести к побегу из песочницы. Эта проблема впервые была обнаружена в Issue1352549 и до сих пор не исправлена. Этот метод имеет определенную универсальность и встречался в нескольких уязвимостях.

Встроенные объекты в V8 определены в файле v8/src/roots/roots.h, и они расположены в памяти соседними блоками. Как только эти объекты попадают в среду JavaScript, это может привести к обходу песочницы.

Эксклюзивное разоблачение обхода Chrome v8 HardenProtect через утечку Sentinel Value

Чтобы проверить эту проблему, можно изменить нативную функцию V8 и раскрыть Uninitialized Oddball в JavaScript. В частности, можно изменить реализацию функции %TheHole().

! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки сигнального значения

Использование неинициализированных объектов Oddball может обойти защиту HardenType. С помощью создания определенного JavaScript-кода можно осуществлять относительно произвольное чтение и запись в память. Это связано с тем, что оптимизированный код не проводит достаточную проверку свойств объекта.

! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки значения Sentinel

! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки значения Sentinel

! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки сигнального значения

! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки значения Sentinel

Эксклюзивное разоблачение обхода Chrome v8 HardenProtect через утечку Sentinel Value

Для исправления предложений следует добавить проверку массива map при возврате элементов массива из оптимизированной функции, чтобы избежать прямого вычисления смещения возвращаемого значения.

Этот вопрос также напоминает нам о PatchGap, то есть о том, что некоторые программы могут использовать версии V8, в которых уязвимость не была исправлена. Например, Skype в настоящее время все еще не устранил эту проблему. На архитектуре x86, из-за отсутствия сжатия адресов, можно реализовать произвольное чтение и запись в пределах процесса.

! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки значения Sentinel

Эксклюзивное разоблачение обхода Chrome v8 HardenProtect с помощью утечки Sentinel Value

В общем, в V8 также могут существовать различные значения Sentinel, которые могут представлять собой аналогичные угрозы безопасности. Рекомендуется провести дальнейшие исследования влияния других утечек Uninitialized Oddball и рассмотреть возможность включения таких объектов в область тестирования на устойчивость, чтобы выявить больше потенциальных способов эксплуатации. В любом случае, такие проблемы могут значительно сократить цикл эксплуатации уязвимостей для злоумышленников.

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 5
  • Поделиться
комментарий
0/400
DuckFluffvip
· 13ч назад
Ёлки-палки, этот уязвимость звучит неплохо~
Посмотреть ОригиналОтветить0
ShitcoinConnoisseurvip
· 07-11 14:18
Так это еще не починили? Что делает v8?
Посмотреть ОригиналОтветить0
WhaleMistakervip
· 07-11 02:45
новая большая уязвимость chrome снова появилась
Посмотреть ОригиналОтветить0
LiquidityWitchvip
· 07-11 02:42
Тьфу, снова нашел уязвимость.
Посмотреть ОригиналОтветить0
ParallelChainMaxivip
· 07-11 02:35
Ну и дела, действительно умеет делать!
Посмотреть ОригиналОтветить0
  • Закрепить