Actively exploited sandbox RCE in all Chromium versions 🔥 Горячее 💬 Длинная дискуссия
В Google Chrome до версии 152.0.7977.82 уязвимость типа путаницы типов в движке V8 позволяла удалённому атакующему выполнить произвольный код внутри песочницы через специально crafted HTML-страницу. Уязвимость была классифицирована как высокая по серьёзности в рамках Chromium.
Согласно оценке CISA-ADP по CVSS v3.1, уязвимость имеет базовый балл 8.8 (HIGH) с вектором AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, что указывает на высокую степень угрозы конфиденциальности, целостности и доступности при низкой сложности атаки и отсутствии необходимости привилегий. Публичное раскрытие включает ссылку на официальный блог Chrome о стабильном обновлении для десктопа от сентября 2026 года.
Комментарии (410)
Обсуждение подчёркивает, что type confusion в V8 — системная, а не разовая проблема: 5–10 активно эксплуатируемых уязвимостей в год указывают на архитектурные просчёты движка. Сама ошибка известна с 1970-х, и её повторение говорит об устаревших инженерных практиках. Вознаграждение в $1000 за критическую активно эксплуатируемую уязвимость несоизмеримо мало по сравнению с её ценой на сером рынке. Песочница не даёт абсолютной защиты — она лишь откладывает эксплуатацию и зависит от отсутствия багов в самом движке. Отмечается спорная оценка CVSS 8.8 для RCE в песочнице: одни считают её заниженной из-за требования взаимодействия пользователя, другие — что именно это делает уязвимость опаснее в реальных атаках. Антивирусы не защищают от эксплойтов на уровне V8, включая zero-day. Советы: использовать Firefox или WebKit (например, с FILCC), чтобы снизить риск за счёт отказа от V8; проверять Electron-приложения вроде VSCode — они используют V8 и могут эксплуатироваться через расширения даже при обновлённом браузере; исследователям — анализировать коммиты Chromium к закрытым issue для поиска уязвимостей до публикации. Отключение JavaScript блокирует около 30% веба, включая NVD, что делает защиту непрактичной для обычных пользователей.
Since Chromium 148, Math.tanh is now fingerprintable to link underlying OS 🔥 Горячее 💬 Длинная дискуссия
Браузеры передают вычисления тригонометрии и гиперболических функций через системные математические библиотеки, поэтому небольшие различия в округлении позволяют анти‑бот‑системам определять, на какую ОС запущен браузер. Например, Math.tanh(0.8) возвращает 0.6640367702678491 в Linux (glibc), 0.664036770267849 в macOS (libsystem_m) и 0.6640367702678489 в Windows (UCRT) – различие в одном‑двух последних битах (1‑2 ULP). Такие «битовые подписи» появляются, начиная с Chrome 148, когда V8 перестал использовать fdlibm и стал вызывать std::tanh из хост‑libm. Раньше эти функции давали одинаковый результат на всех платформах и не фиксировали ОС. При этом лишь небольшая часть функций — sin, cos, tan, tanh, exp и другие — передаёт данные через хост‑libm; остальные математические операции остаются внутри V8 и не раскрывают платформу. Эти различия позволяют анти‑бот‑системам построить отпечаток.
Scrapfly закрывает эту утечку, имитируя точные биты, которые выдаёт реальная библиотека каждой ОС. Они формируют таблицу подписей для cos, tanh, sin и других функций, а затем в браузерных сборках подменяют вычисления так, чтобы результат совпадал с тем, что получает браузер. Таким образом, даже при hundreds‑fold проверке по сигналам, включая математику, их клиент выглядит идентично реальному браузеру и обходит анти‑бот‑механизмы.
Комментарии (151)
- Обсуждается, что вызов Math.tanh может раскрывать операционную систему и версию браузера, делая её потенциальным вектором отпечатка.
- Участники отмечают, что современные браузеры уже содержат множество уникальных характеристик, и полностью скрыть ОС практически невозможно.
- Предлагаются методы добавления шума или замены функций, однако такие изменения могут лишь облегчить идентификацию «скрытных» пользователей.
- Ведутся споры о правовых ограничениях fingerprinting и необходимости регулировать технологии отслеживания в интернете.
Brimstone: ES2025 JavaScript engine written in Rust
Разработчик представил Brimstone - новый JavaScript-движок, полностью написанный на Rust. Проект стремится создать альтернативу существующим движкам таким как V8 и SpiderMonkey, но с акцентом на безопасность и производительность за счет использования системы типов Rust и его современных возможностей. Rust обеспечивает безопасность памяти и потоков, что может снизить количество уязвимостей в движке по сравнению с традиционными реализациями на C++.
На данный момент проект находится на ранней стадии разработки, но уже демонстрирует потенциал для создания более безопасных и эффективных JavaScript-движков. Использование Rust для реализации движка JavaScript - это интересный тренд в индустрии, который также наблюдается в других проектах, таких как Deno и Boa, что указывает на растущий интерес к альтернативным языкам для критически важных компонентов веб-платформы.
Комментарии (103)
- Обсуждение началось с благодарности за включение проекта в список и запуск бенчмарков, но быстро перешло к сравнению размеров бинарников Brimstone и Boa, где последний оказался в 3,5 раза больше из-за включённых ICU-таблиц Unicode.
- Участники обсудили, что "написано на Rust" стало маркетинговым клише, и как оно влияет на восприятие проекта, а также затронули тему лицензий и отсутствия лицензии в репозитории.
- Разговор затронул вопросы безопасности памяти и использования unsafe в контексте Rust, где участники обменялись мнениями о том, что именно подразумевается под этим и как это соотносится с выбором языка программирования.