Використання та безпекові ризики 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, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
14 лайків
Нагородити
14
6
Репост
Поділіться
Прокоментувати
0/400
GateUser-aa7df71e
· 08-08 09:10
Вразливості на базовому рівні обов'язково спалахнуть
Аналіз вразливості витоку значення Sentinel у двигуні Chrome V8 та пов'язані з ним ризики безпеки
Використання та безпекові ризики Sentinel Value в Chrome V8
Sentinel Value є спеціальним значенням, яке часто використовується в алгоритмах, зазвичай як умова завершення в циклах або рекурсії. Цю техніку широко використовують у вихідному коді Chrome. Нещодавно дослідники з безпеки виявили спосіб здійснити виконання довільного коду в пісочниці Chrome через витік певного об'єкта Sentinel Value.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
У двигуні V8 існує кілька вроджених об'єктів, які не повинні бути витікати в середовище JavaScript. Окрім раніше доповіданого об'єкта TheHole, ця стаття зосереджується на проблемі витоку об'єкта Uninitialized Oddball. Цей метод досі доступний у останній версії V8 і ще не був виправлений.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
Варто зазначити, що методи витоку об'єктів Uninitialized Oddball мають високу універсальність. Кілька історичних вразливостей (таких як CVE-2021-30551, CVE-2022-1486 тощо) стосуються витоку таких об'єктів. Виявлення цього методу може знизити складність використання відповідних вразливостей.
Шляхом зміни рідних функцій V8 можна легко витягнути об'єкт Uninitialized Oddball у середовище JavaScript. Використовуючи цей метод, зловмисник може обійти механізми посилення типів V8, реалізуючи відносно довільні операції читання та запису в пам'ять.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
У оптимізованому коді JavaScript, через відсутність перевірки масиву map, прямий розрахунок зсуву для повернення значень масиву має ризики безпеки. Рекомендується під час повернення елементів масиву оптимізованою функцією додати перевірку масиву map для підвищення безпеки.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
Вплив таких проблем може виявитися більшим, ніж очікувалося. Деякі програми, які використовують стару версію двигуна V8, можуть залишатися під загрозою. Наприклад, станом на сьогоднішній день Skype ще не виправив цю вразливість. На 32-бітних системах через відсутність механізму стиснення адрес атакуючим може бути легше здійснити довільний читання та запис пам'яті.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
В цілому, питання безпеки, пов'язані з Sentinel Value, заслуговують на більше уваги. Не лише Uninitialized Oddball і об'єкт TheHole можуть призвести до небезпеки безпеки, але й інші Sentinel Value можуть мати подібні ризики. Рекомендується включити ці спеціальні значення в обсяг тестування на нечіткість, щоб виявити потенційні шляхи експлуатації.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel
Незалежно від того, чи вважаються ці питання офіційно безпековими вразливостями, вони можуть значно скоротити час, необхідний зловмисникам для повного використання. Тому зацікавлені сторони повинні бути напоготові та вчасно усувати потенційні ризики.
! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel