Витік значення Sentinel у двигуні Chrome V8 призводить до ризику втечі з пісочниці

robot
Генерація анотацій у процесі

Витік значення Sentinel та обходження захисту HardenProtect Chrome V8

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

Окрім відомого об'єкта TheHole, у V8 є й інші рідні об'єкти, які не повинні бути розкриті в середовищі JavaScript. У цій статті основна увага приділяється об'єкту Uninitialized Oddball, спосіб обходу якого досі можна застосовувати в останній версії V8, і він ще не був виправлений.

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

Варто зазначити, що цей метод має широкий спектр застосування. У кількох повідомлених вразливостях витік Uninitialized Oddball може призвести до віддаленого виконання коду. Це підкреслює необхідність всебічного аудиту програмного забезпечення, яке може бути під впливом PatchGap.

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

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

Щоб перевірити цей метод, ми можемо змінити вбудовану функцію V8, щоб вона повертала об'єкт Uninitialized Oddball. Таким чином, ми зможемо реалізувати відносно довільне читання пам'яті в останній версії V8.

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

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

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

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

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

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

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

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

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

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

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

SENC2.28%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Репост
  • Поділіться
Прокоментувати
0/400
LiquidatedDreamsvip
· 08-08 20:23
Ще одна хвиля дірок... Чому ж Chrome, який просто валяється, не виправляють?
Переглянути оригіналвідповісти на0
GasWastervip
· 08-08 20:22
Коробка має так багато дірок, клоун сім'я.
Переглянути оригіналвідповісти на0
GasOptimizervip
· 08-08 20:20
Вразливості рекурсії становлять 89,4% ймовірності випадків порушення безпеки.
Переглянути оригіналвідповісти на0
FallingLeafvip
· 08-08 20:19
Прогалини такі великі, браузер вже не безпечний.
Переглянути оригіналвідповісти на0
GateUser-5854de8bvip
· 08-08 20:00
Ой, v8 знову має вразливість.
Переглянути оригіналвідповісти на0
  • Закріпити