Как я нашёл уязвимость в JavaScript-движке, или Почему корень из нуля чуть не сломал браузеры
Сколько будет корень из нуля? Даже школьник ответит не задумываясь: ноль. Но если задать этот вопрос JIT‑компилятору Maglev внутри движка V8, то при определённых обстоятельствах он сначала скажет: «ноль», а потом решит сэкономить на проверке безопасности и отдаст злоумышленнику доступ к памяти браузера.
Меня зовут Паша Кузьмин, я занимаюсь практической безопасностью Яндекс Браузера и проекта Chromium. В нашей команде мы регулярно разбираем уязвимости и исследуем методы атак — чтобы защищать пользователей до того, как их атакуют злоумышленники. Сегодня расскажу про CVE-2025-9864 — уязвимость, которую я нашёл в движке V8.
Это история о том, как безобидный Math.sqrt(0) превращается в use‑after‑free, а затем в произвольное чтение и запись памяти. Разберём проблему по шагам: от теории до работающего эксплойта.
Читать далееИсточник: Хабрахабр
Похожие новости
- DNSSEC validation на Go: написал свой validator и не до конца сошёл с ума
- (Не)безопасный eBPF: что маркетологи забыли упомянуть об уязвимостях
- Острова и несколько личностей на одном устройстве: как мы делаем приватность частью архитектуры
- Reset — прохождение сложной машины от Tryhackme
- bitkogan: Срок Набиуллиной заканчивается. Что дальше?
- Блог ленивого инвестора: ☀ Итоги недели: входим в лето!
- Редакция Spark.ru: 60 лет “культурной революции”
- Spark_news: Самые большие штрафы ГИБДД платят зумеры
- OpenBSD 7.9: поддержка Wi-Fi 6, USB4 и 255 ядер. Основные изменения в ОС
- Zero Trust для AI-агентов: как безопасно давать LLM доступ к инструментам, данным и действиям