Використання Sentinel Value в Chrome V8 та його безпекові ризики
У V8-движку існує кілька спеціальних об'єктів Sentinel Value, таких як TheHole та Uninitialized Oddball. Ці об'єкти не повинні потрапляти в середовище JavaScript, але деякі вразливості можуть призвести до їхнього розкриття, що може викликати проблеми з безпекою.
Нещодавно дослідники виявили, що шляхом витоку неініціалізованого об'єкта Oddball можна обійти механізм захисту HardenType V8. Цей метод вперше з'явився в звіті про проблему, поданому членом команди Project Zero, і наразі залишається дієвим у останній версії V8.
Цей метод обходу має універсальний характер і може бути використаний для експлуатації кількох історичних вразливостей, таких як CVE-2021-30551, CVE-2022-1486 тощо. Він знижує складність експлуатації вразливостей, що робить можливим виконання віддаленого коду лише за рахунок витоку об'єкта Uninitialized Oddball.
Щоб перевірити цей метод, можна змінити рідну функцію V8 %TheHole(), щоб вона повертала об'єкт Uninitialized Oddball. Тестування показало, що це справді може реалізувати відносно довільне зчитування пам'яті.
У оптимізованому коді JavaScript V8 недостатньо перевіряє типи елементів масиву, прямо обчислюючи значення за зміщенням і повертаючи його, що призводить до змішування типів і довільного читання. Рекомендується під час оптимізації додати перевірку масиву map, щоб уникнути цієї ситуації.
Виявлення цього способу обходу підкреслює деякі важливі питання:
Інші витоки об'єктів Sentinel Value можуть бути так само небезпечними
Чи слід вважати пов'язані проблеми офіційними вразливостями безпеки, все ще залишається спірним.
Розгляньте можливість введення Sentinel Value як змінної в нечіткому тестуванні
У будь-якому випадку, такі проблеми значно скоротять період повного використання уразливостей хакерами, і на них варто звернути особливу увагу. Виробники відповідного програмного забезпечення повинні якомога швидше виправити уражені версії, щоб зменшити потенційні ризики.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Витік значення Sentinel V8 двигуна викликав ризики безпеки, необхідно бути обережними
Використання Sentinel Value в Chrome V8 та його безпекові ризики
У V8-движку існує кілька спеціальних об'єктів Sentinel Value, таких як TheHole та Uninitialized Oddball. Ці об'єкти не повинні потрапляти в середовище JavaScript, але деякі вразливості можуть призвести до їхнього розкриття, що може викликати проблеми з безпекою.
Нещодавно дослідники виявили, що шляхом витоку неініціалізованого об'єкта Oddball можна обійти механізм захисту HardenType V8. Цей метод вперше з'явився в звіті про проблему, поданому членом команди Project Zero, і наразі залишається дієвим у останній версії V8.
Цей метод обходу має універсальний характер і може бути використаний для експлуатації кількох історичних вразливостей, таких як CVE-2021-30551, CVE-2022-1486 тощо. Він знижує складність експлуатації вразливостей, що робить можливим виконання віддаленого коду лише за рахунок витоку об'єкта Uninitialized Oddball.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
Щоб перевірити цей метод, можна змінити рідну функцію V8 %TheHole(), щоб вона повертала об'єкт Uninitialized Oddball. Тестування показало, що це справді може реалізувати відносно довільне зчитування пам'яті.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
У оптимізованому коді JavaScript V8 недостатньо перевіряє типи елементів масиву, прямо обчислюючи значення за зміщенням і повертаючи його, що призводить до змішування типів і довільного читання. Рекомендується під час оптимізації додати перевірку масиву map, щоб уникнути цієї ситуації.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
Виявлення цього способу обходу підкреслює деякі важливі питання:
У будь-якому випадку, такі проблеми значно скоротять період повного використання уразливостей хакерами, і на них варто звернути особливу увагу. Виробники відповідного програмного забезпечення повинні якомога швидше виправити уражені версії, щоб зменшити потенційні ризики.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel