[Перевод] Эксплойтинг браузера Chrome, часть 3: анализ и эксплойт уязвимости CVE-2018-17463
Это третья и последняя часть серии статьей про эксплойтинг браузера Chrome. Основная задача этой серии заключалась в том, чтобы познакомить читателя с внутренним устройством браузера и погрузиться в тему эксплойтинга Chrome в Windows.
В первой части мы изучили внутреннюю работу JavaScript и V8. В том числе изучили объекты map и shape, а также рассмотрели методики оптимизации памяти, например, маркировку указателей и сжатие указателей.
Во второй части мы более глубоко исследовали конвейер компилятора V8. Изучили предназначение Ignition, Sparkplug и TurboFan в конвейере и рассмотрели такие темы, как байт-код V8, компиляция и оптимизация кода.
В этой части сосредоточимся на анализе и эксплойтинге уязвимости JIT-компилятора в TurboFan CVE-2018-17463. Эта уязвимость возникла из-за ненадлежащего моделирования побочных эффектов операции JSCreateObject на этапе понижающей оптимизации. Прежде чем мы приступим к эксплойтингу этого бага, нужно изучить фундаментальные примитивы эксплойтинга браузеров, такие как addrOf и fakeObj, а также узнать, как можно использовать этот баг для эксплойтинга type confusion.
Читать дальше →
В первой части мы изучили внутреннюю работу JavaScript и V8. В том числе изучили объекты map и shape, а также рассмотрели методики оптимизации памяти, например, маркировку указателей и сжатие указателей.
Во второй части мы более глубоко исследовали конвейер компилятора V8. Изучили предназначение Ignition, Sparkplug и TurboFan в конвейере и рассмотрели такие темы, как байт-код V8, компиляция и оптимизация кода.
В этой части сосредоточимся на анализе и эксплойтинге уязвимости JIT-компилятора в TurboFan CVE-2018-17463. Эта уязвимость возникла из-за ненадлежащего моделирования побочных эффектов операции JSCreateObject на этапе понижающей оптимизации. Прежде чем мы приступим к эксплойтингу этого бага, нужно изучить фундаментальные примитивы эксплойтинга браузеров, такие как addrOf и fakeObj, а также узнать, как можно использовать этот баг для эксплойтинга type confusion.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Absolute Zero Reasoner: ИИ научился программированию без входных данных — и это может поменять всё
- Мой начальник хочет no-code в проде. Я против — и готов уйти
- [Перевод] Как я «случайно» получил root-доступ к платёжному терминалу
- Программируя с использованием AI ты продаешь душу дьяволу
- Spark_news: Более 20% стартапов-«единорогов» с оценкой выше $1 млрд могут обанкротиться — Accel
- Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 4 и снова блогер…
- Чудо-курсы с обещанием быстрых результатов: 200 лет рекламы, которая не меняется
- DarkGaboon: яд кибергадюки в цифровых жилах российских компаний
- Агентная экономика. Дайджест за неделю
- Редакция Spark.ru: Бизнес в фронтовом приграничье: Белгород, часть 2. «Танцы - это кислород для города»