Вразливість витоку значення Sentinel у V8-движку: аналіз обходу пісочниці Chrome

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

Розкриття обходу пісочниці Chrome V8: використання Sentinel Value для виконання довільного коду

Sentinel value є спеціальним значенням, що використовується в алгоритмах як умова завершення, і широко присутнє в коді Chrome. Раніше вже були дослідження, які показали, що через витік об'єкта TheHole можна досягти виконання довільного коду в пісочниці Chrome. У цій статті буде обговорено ще один неусунений метод обходу - витік об'єкта Uninitialized Oddball.

Цей метод уперше з'явився в Issue1352549, поданому учасником Project 0, і наразі все ще доступний у останній версії V8. Варто зазначити, що подібні проблеми з витоком рідних об'єктів неодноразово виникали в серйозних вразливостях, таких як CVE-2021-30551 та CVE-2022-1486. Це свідчить про те, що такі проблеми є поширеними і можуть впливати на кілька програм, що використовують движок V8.

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

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

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

Використання цього методу дозволяє обійти захист HardenType, реалізуючи відносно довільне читання та запис у пам'ять. У конкретній реалізації, оптимізований код JavaScript пропустить перевірку типів елементів масиву і безпосередньо обчислить зсув для доступу до пам'яті. Ця проблема трохи відрізняється для архітектур x86 та x64, але може бути використана в обох випадках.

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

Ця вразливість наразі не була виправлена в деяких програмах, що використовують двигун V8, таких як Skype (, що створює потенційні ризики безпеки. Зловмисники можуть скористатися цим PatchGap для реалізації повного ланцюга експлуатації вразливості.

! [Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel])https://img-cdn.gateio.im/webp-social/moments-1e3fda77c04bceafdcc40413824a5d37.webp(

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

! [Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel])https://img-cdn.gateio.im/webp-social/moments-ed89289bebf59d4b27f5bffb5511a8c5.webp(

! [Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp(

! [Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel])https://img-cdn.gateio.im/webp-social/moments-230537e420d579aabd89bdd168b20878.webp(

! [Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel])https://img-cdn.gateio.im/webp-social/moments-506159c94c9e0988552cbcbd13d971e1.webp(

! [Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(

Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
bridge_anxietyvip
· 12год тому
Тс-тс, ця яма дійсно небезпечна.
Переглянути оригіналвідповісти на0
BlockTalkvip
· 12год тому
Знову з'явилася уразливість, Chrome справді не працює.
Переглянути оригіналвідповісти на0
MultiSigFailMastervip
· 12год тому
v8 це не охолонуло??
Переглянути оригіналвідповісти на0
NonFungibleDegenvip
· 12год тому
ngmi chrome... так погано зараз
Переглянути оригіналвідповісти на0
  • Закріпити