Применение и проблемы безопасности Sentinel Value в Chrome V8
Sentinel Value - это специальное значение, часто используемое в алгоритмах, обычно в циклах или рекурсивных алгоритмах в качестве условия завершения. Эта техника широко используется в исходном коде Chrome. В последнее время исследователи безопасности обнаружили способ выполнения произвольного кода в песочнице Chrome через утечку определенных объектов Sentinel Value.
В движке V8 существует множество встроенных объектов, которые не должны быть раскрыты в среде JavaScript. Помимо ранее сообщенного объекта TheHole, в данной статье основное внимание уделяется проблеме утечки объекта Uninitialized Oddball. Этот метод по-прежнему доступен в последней версии V8 и еще не был исправлен.
Следует отметить, что методы утечки объектов Uninitialized Oddball обладают высокой универсальностью. Несколько исторических уязвимостей (таких как CVE-2021-30551, CVE-2022-1486 и др.) связаны с утечками таких объектов. Открытие этого метода может снизить сложность эксплуатации связанных уязвимостей.
Изменяя встроенные функции V8, можно легко утечь объекты Uninitialized Oddball в среду JavaScript. Используя этот метод, злоумышленник может обойти механизм защиты типов V8 и осуществить относительно произвольные операции чтения и записи в памяти.
В оптимизированном коде JavaScript, из-за отсутствия проверки массива map, прямое вычисление смещения и возврат значений массива представляют собой риск безопасности. Рекомендуется при возвращении элементов массива из функции оптимизации добавить проверку массива map для повышения безопасности.
Влияние таких проблем может выйти за рамки ожидаемого. Некоторые приложения, использующие устаревший движок V8, могут по-прежнему подвергаться риску. Например, на сегодняшний день Skype не исправил эту уязвимость. На 32-битных системах из-за отсутствия механизма сжатия адресов злоумышленникам может быть легче осуществить произвольное чтение и запись в память.
В общем, проблемы безопасности, связанные с Sentinel Value, заслуживают большего внимания. Не только Uninitialized Oddball и объект TheHole могут привести к угрозам безопасности, но и другие Sentinel Value могут представлять аналогичные риски. Рекомендуется включить эти специальные значения в область тестирования на нечеткость для выявления потенциальных уязвимостей.
Независимо от того, рассматриваются ли такого рода проблемы как официальные уязвимости безопасности, они могут значительно сократить время, необходимое злоумышленникам для полной эксплуатации. Поэтому заинтересованные стороны должны быть бдительными и своевременно устранять потенциальные риски.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Анализ уязвимости утечки значения Sentinel в движке Chrome V8 и связанные с ней риски безопасности
Применение и проблемы безопасности Sentinel Value в Chrome V8
Sentinel Value - это специальное значение, часто используемое в алгоритмах, обычно в циклах или рекурсивных алгоритмах в качестве условия завершения. Эта техника широко используется в исходном коде Chrome. В последнее время исследователи безопасности обнаружили способ выполнения произвольного кода в песочнице Chrome через утечку определенных объектов Sentinel Value.
В движке V8 существует множество встроенных объектов, которые не должны быть раскрыты в среде JavaScript. Помимо ранее сообщенного объекта TheHole, в данной статье основное внимание уделяется проблеме утечки объекта Uninitialized Oddball. Этот метод по-прежнему доступен в последней версии V8 и еще не был исправлен.
! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки сигнального значения
Следует отметить, что методы утечки объектов Uninitialized Oddball обладают высокой универсальностью. Несколько исторических уязвимостей (таких как CVE-2021-30551, CVE-2022-1486 и др.) связаны с утечками таких объектов. Открытие этого метода может снизить сложность эксплуатации связанных уязвимостей.
Изменяя встроенные функции V8, можно легко утечь объекты Uninitialized Oddball в среду JavaScript. Используя этот метод, злоумышленник может обойти механизм защиты типов V8 и осуществить относительно произвольные операции чтения и записи в памяти.
В оптимизированном коде JavaScript, из-за отсутствия проверки массива map, прямое вычисление смещения и возврат значений массива представляют собой риск безопасности. Рекомендуется при возвращении элементов массива из функции оптимизации добавить проверку массива map для повышения безопасности.
Влияние таких проблем может выйти за рамки ожидаемого. Некоторые приложения, использующие устаревший движок V8, могут по-прежнему подвергаться риску. Например, на сегодняшний день Skype не исправил эту уязвимость. На 32-битных системах из-за отсутствия механизма сжатия адресов злоумышленникам может быть легче осуществить произвольное чтение и запись в память.
В общем, проблемы безопасности, связанные с Sentinel Value, заслуживают большего внимания. Не только Uninitialized Oddball и объект TheHole могут привести к угрозам безопасности, но и другие Sentinel Value могут представлять аналогичные риски. Рекомендуется включить эти специальные значения в область тестирования на нечеткость для выявления потенциальных уязвимостей.
! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки значения Sentinel
Независимо от того, рассматриваются ли такого рода проблемы как официальные уязвимости безопасности, они могут значительно сократить время, необходимое злоумышленникам для полной эксплуатации. Поэтому заинтересованные стороны должны быть бдительными и своевременно устранять потенциальные риски.
! Эксклюзивное раскрытие обхода Chrome v8 HardenProtect путем утечки сигнального значения