Как я нашёл уязвимость в JavaScript-движке, или Почему корень из нуля чуть не сломал браузеры
Сколько будет корень из нуля? Даже школьник ответит не задумываясь: ноль. Но если задать этот вопрос JIT‑компилятору Maglev внутри движка V8, то при определённых обстоятельствах он сначала скажет: «ноль», а потом решит сэкономить на проверке безопасности и отдаст злоумышленнику доступ к памяти браузера.
Меня зовут Паша Кузьмин, я занимаюсь практической безопасностью Яндекс Браузера и проекта Chromium. В нашей команде мы регулярно разбираем уязвимости и исследуем методы атак — чтобы защищать пользователей до того, как их атакуют злоумышленники. Сегодня расскажу про CVE-2025-9864 — уязвимость, которую я нашёл в движке V8.
Это история о том, как безобидный Math.sqrt(0) превращается в use‑after‑free, а затем в произвольное чтение и запись памяти. Разберём проблему по шагам: от теории до работающего эксплойта.
Читать далееИсточник: Хабрахабр
Похожие новости
- Нажал «Принять» — и забыл. А мы уже внутри
- Best Practices по Dockerfile: от базового образа и кеша до SBOM, Cosign и CI/CD
- [Перевод] Бенчмарк для оценки LLM в задачах триажа security-находок
- DNSSEC validation на Go: написал свой validator и не до конца сошёл с ума
- (Не)безопасный eBPF: что маркетологи забыли упомянуть об уязвимостях
- Острова и несколько личностей на одном устройстве: как мы делаем приватность частью архитектуры
- Reset — прохождение сложной машины от Tryhackme
- bitkogan: Срок Набиуллиной заканчивается. Что дальше?
- Блог ленивого инвестора: ☀ Итоги недели: входим в лето!
- Редакция Spark.ru: 60 лет “культурной революции”