Применение Sentinel Value в Chrome V8 и его потенциальные угрозы безопасности
В движке V8 существует множество специальных объектов Sentinel Value, таких как TheHole и Uninitialized Oddball. Эти объекты не должны быть раскрыты в среде JavaScript, но некоторые уязвимости могут привести к их раскрытию, что может вызвать проблемы с безопасностью.
Недавние исследования показали, что утечка объектов Uninitialized Oddball может обойти механизм защиты HardenType в V8. Этот метод впервые появился в отчете о проблеме, submitted членом команды Project Zero, и в настоящее время по-прежнему эффективен в последней версии V8.
Этот метод обхода универсален и может быть использован для эксплуатации нескольких исторических уязвимостей, таких как CVE-2021-30551, CVE-2022-1486 и др. Он снижает сложность эксплуатации уязвимости, позволяя лишь утечке неинициализированного объекта Oddball привести к удаленному выполнению кода.
Чтобы проверить этот метод, можно изменить нативную функцию V8 %TheHole(), чтобы она возвращала объект Uninitialized Oddball. Тесты показали, что это действительно может осуществить относительно произвольное чтение памяти.
В оптимизированном коде JavaScript V8 недостаточно проверяет типы элементов массива, напрямую вычисляя и возвращая значения по смещению, что приводит к путанице типов и произвольному чтению. Рекомендуется на этапе оптимизации добавить проверку для массива map, чтобы избежать этой ситуации.
Обнаружение этого способа обхода подчеркивает некоторые важные проблемы:
Другие утечки объектов Sentinel Value также могут быть опасны
Существует спор о том, следует ли считать связанные проблемы официальными уязвимостями безопасности.
В нечетком тестировании можно рассмотреть возможность введения Sentinel Value в качестве переменной
В любом случае, такие проблемы значительно сокращают период, в течение которого хакеры могут полностью использовать уязвимость, и на это следует обратить особое внимание. Соответствующим производителям программного обеспечения следует как можно скорее исправить затронутые версии, чтобы снизить потенциальные риски.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
8 Лайков
Награда
8
4
Репост
Поделиться
комментарий
0/400
TerraNeverForget
· 14ч назад
У браузера снова возникла большая проблема.
Посмотреть ОригиналОтветить0
BearHugger
· 14ч назад
Снова дыра в V8? Этот баг действительно абсурдный.
Утечка значения Sentinel V8-движка создает риски безопасности, необходимо проявлять бдительность.
Применение Sentinel Value в Chrome V8 и его потенциальные угрозы безопасности
В движке V8 существует множество специальных объектов Sentinel Value, таких как TheHole и Uninitialized Oddball. Эти объекты не должны быть раскрыты в среде JavaScript, но некоторые уязвимости могут привести к их раскрытию, что может вызвать проблемы с безопасностью.
Недавние исследования показали, что утечка объектов Uninitialized Oddball может обойти механизм защиты HardenType в V8. Этот метод впервые появился в отчете о проблеме, submitted членом команды Project Zero, и в настоящее время по-прежнему эффективен в последней версии V8.
Этот метод обхода универсален и может быть использован для эксплуатации нескольких исторических уязвимостей, таких как CVE-2021-30551, CVE-2022-1486 и др. Он снижает сложность эксплуатации уязвимости, позволяя лишь утечке неинициализированного объекта Oddball привести к удаленному выполнению кода.
Чтобы проверить этот метод, можно изменить нативную функцию V8 %TheHole(), чтобы она возвращала объект Uninitialized Oddball. Тесты показали, что это действительно может осуществить относительно произвольное чтение памяти.
В оптимизированном коде JavaScript V8 недостаточно проверяет типы элементов массива, напрямую вычисляя и возвращая значения по смещению, что приводит к путанице типов и произвольному чтению. Рекомендуется на этапе оптимизации добавить проверку для массива map, чтобы избежать этой ситуации.
Обнаружение этого способа обхода подчеркивает некоторые важные проблемы:
В любом случае, такие проблемы значительно сокращают период, в течение которого хакеры могут полностью использовать уязвимость, и на это следует обратить особое внимание. Соответствующим производителям программного обеспечения следует как можно скорее исправить затронутые версии, чтобы снизить потенциальные риски.
! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки значения Sentinel
! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки сигнального значения