Подробный анализ уязвимости Sentinel Value в движке Chrome V8: утечка неинициализированных объектов Oddball и побег из песочницы

Анализ уязвимости Sentinel Value в движке Chrome V8

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

Сентинельное значение в V8

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

Мы можем проверить Uninitialized Oddball в JavaScript, изменив нативную функцию V8. Конкретный метод заключается в изменении смещения относительно isolate в функции %TheHole(), чтобы она возвращала объект Uninitialized Oddball.

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

Обход защиты HardenType

Использование объекта Uninitialized Oddball позволяет обойти защиту HardenType V8 и осуществлять относительно произвольное чтение и запись. Ключевым моментом является то, что оптимизированный код JavaScript не проверяет типы элементов массива, а просто вычисляет смещение и считывает значения в соответствии с семантикой JavaScript, что приводит к путанице типов.

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

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

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

Влияние на безопасность

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

Кроме того, в V8 также существуют другие значения Sentinel, которые могут вызвать аналогичные проблемы. Это подсказывает нам:

  1. Могут ли другие значения Sentinel также легко привести к удаленному выполнению кода V8?

  2. Следует ли официально классифицировать такие вопросы как уязвимости в безопасности?

  3. Следует ли учитывать различные значения Sentinel в качестве переменных в пределах тестирования в模糊测试?

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

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

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

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

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

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

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

SENC6.88%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 9
  • Репост
  • Поделиться
комментарий
0/400
NeverPresentvip
· 7ч назад
Слишком жесткое условие для цикла.
Посмотреть ОригиналОтветить0
MemeEchoervip
· 11ч назад
Снова мастер уязвимостей демонстрирует свои способности
Посмотреть ОригиналОтветить0
GateUser-afe07a92vip
· 19ч назад
Чёрт, v8 снова вышла с уязвимостью.
Посмотреть ОригиналОтветить0
CryptoCross-TalkClubvip
· 08-10 04:39
Этот уязвимость такая же虚, как и уровень стоп лосс во время падения крупных бирж.
Посмотреть ОригиналОтветить0
PoetryOnChainvip
· 08-10 02:07
Снова снова снова есть уязвимость.
Посмотреть ОригиналОтветить0
FudVaccinatorvip
· 08-10 02:06
Ещё одна дыра V8, друзья, давайте!
Посмотреть ОригиналОтветить0
MelonFieldvip
· 08-10 01:58
Уязвимость довольно серьезная, эта волна Google обречена.
Посмотреть ОригиналОтветить0
just_here_for_vibesvip
· 08-10 01:57
Этот баг просто взрывной... Так круто!
Посмотреть ОригиналОтветить0
NewPumpamentalsvip
· 08-10 01:41
Снова дыра V8, старый знакомый.
Посмотреть ОригиналОтветить0
Подробнее
  • Закрепить