Утечка Sentinel Value в движке Chrome V8 приводит к риску выхода из песочницы.

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

Утечка значения Sentinel и обход HardenProtect в Chrome V8

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

Помимо известных объектов TheHole, в V8 существуют и другие нативные объекты, которые не должны быть раскрыты в среде JavaScript. В данной статье основное внимание уделяется объектам Uninitialized Oddball, обходной метод для которых по-прежнему может быть применен в последней версии V8 и еще не был исправлен.

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

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

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

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

Чтобы проверить этот метод, мы можем изменить встроенные функции V8, чтобы они возвращали объект Uninitialized Oddball. Таким образом, мы сможем реализовать относительно произвольное чтение памяти в последней версии V8.

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

Суть этого метода обхода заключается в том, что оптимизированная функция JavaScript при доступе к элементам массива не проверяет достаточно информацию о типах массива, а просто вычисляет смещение для получения значения. Это приводит к путанице типов, что позволяет произвольно считывать данные.

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

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

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

Кроме того, нам также необходимо обратить внимание на возможные проблемы PatchGap в программной цепочке поставок. Некоторые широко используемые программы могут все еще не исправить такие уязвимости, что предоставляет злоумышленникам потенциальную лазейку.

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

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

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

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

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

SENC2.63%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Репост
  • Поделиться
комментарий
0/400
LiquidatedDreamsvip
· 19ч назад
Еще одна волна дыр... Почему Chrome, который так плохо работает, не исправляют?
Посмотреть ОригиналОтветить0
GasWastervip
· 19ч назад
Так много уязвимостей в коробке, клоун, семья
Посмотреть ОригиналОтветить0
GasOptimizervip
· 19ч назад
Рекурсивные уязвимости составляют 89,4% вероятности инцидентов безопасности.
Посмотреть ОригиналОтветить0
FallingLeafvip
· 19ч назад
Уязвимость такая большая, браузер тоже не безопасен.
Посмотреть ОригиналОтветить0
GateUser-5854de8bvip
· 20ч назад
Эх, у v8 снова появилась уязвимость.
Посмотреть ОригиналОтветить0
  • Закрепить