Mozilla выпустила экстренное обновление Firefox 151.0.3, устраняющее уязвимость CVE-2026-10702 высокой степени серьёзности в JIT-компиляторе браузера. Ошибка затрагивает стабильные версии Firefox с 147 по 151.0.2 и позволяет выполнить произвольный код в процессе рендеринга при простом посещении вредоносной веб-страницы — без каких-либо дополнительных действий пользователя. Ситуацию обостряет то, что исследовательская компания Nebula Security уже опубликовала рабочий эксплойт, хотя по состоянию на 28 июля 2026 года подтверждённых случаев эксплуатации в реальных атаках не зафиксировано.
Техническая суть уязвимости
Корень проблемы, согласно техническому анализу Nebula Security, находится в операции MObjectToIterator при выполнении с флагом skipRegistration = true. JIT-компилятор Firefox преобразует часто исполняемый JavaScript в нативный машинный код и для корректной работы обязан отслеживать, какие операции могут модифицировать память.
Firefox ошибочно классифицировал данную операцию как операцию чтения, хотя разрешение «ленивого» свойства объекта может привести к выделению нового буфера динамических слотов и освобождению старого. Оптимизация глобальной нумерации значений (Global Value Numbering) затем считала повторную загрузку указателя на буфер слотов избыточной и переиспользовала ранее полученный указатель — уже после его инвалидации средой выполнения. Результат — классическая ситуация использования освобождённой памяти (use-after-free).
Уязвимый код был внесён в рамках Bug 1995077 и впервые появился в Firefox 147. Анализ исходного кода подтверждает: некорректное переопределение псевдонимов присутствует в Firefox 151.0.2 и отсутствует в Firefox 151.0.3.
Затронутые и незатронутые версии
- Затронуты: Firefox 147 — 151.0.2 (стабильные релизы)
- Исправлено в: Firefox 151.0.3
- Не затронуты: Firefox ESR 140.12 — уязвимый код отсутствует в исходниках ESR-ветки; Mozilla не упоминает ESR в бюллетене безопасности
Исправление на уровне кода удаляет пользовательскую обработку псевдонимов «только для чтения» из ObjectToIterator и корректирует связанную операцию итератора, предотвращая сохранение устаревшего указателя оптимизатором.
Публичный эксплойт и цепочка IonStack
Nebula Security использовала CVE-2026-10702 как первый этап цепочки эксплойтов под названием IonStack, нацеленной на устройство ARM64 под управлением Android 17. Опубликованный эксплойт перехватывает освобождённую аллокацию, извлекает указатель на скрытый класс, создаёт поддельный объект и повреждает Uint8Array для получения произвольного чтения и записи в память. На Android код затем изменяет права доступа к памяти и перенаправляет точку входа функции WebAssembly на шеллкод ARM64.
По данным исследователей, опубликованный код содержит смещения для Firefox 151.0 на конкретной сборке ARM64 Android 17, однако сама браузерная уязвимость не привязана к архитектуре ARM. Nebula Security охарактеризовала путь эксплуатации на x86 как более стабильный, хотя полная цепочка для этой архитектуры пока не завершена.
Вторым этапом цепочки IonStack является CVE-2026-43499 — уязвимость в подсистеме futex ядра Linux, которую Nebula называет GhostLock. Этот этап обеспечивает повышение привилегий до root на целевой сборке Android. По заявлению исследователей, GhostLock вызывается непосредственно из Firefox, а более слабая песочница Android упрощает эксплуатацию — при этом, по мнению Nebula, более строгая десктопная песочница не обязательно предотвратила бы атаку. Следует отметить, что эта оценка исходит от единственного исследовательского источника и не подтверждена вендором.
Оценка воздействия
Наибольшему риску подвержены пользователи Firefox на всех платформах, использующие версии 147–151.0.2. Наличие публичного эксплойта существенно снижает порог входа для потенциальных атакующих, даже несмотря на то, что опубликованный код нацелен на конкретную сборку Android. Адаптация браузерного этапа под другие платформы — вопрос инженерных усилий, а не принципиальных ограничений.
Пользователи Firefox ESR 140.12, по результатам анализа исходного кода, не подвержены данной уязвимости. Статус эксплуатации на текущий момент — доступен публичный PoC; ни Mozilla, ни CISA не сообщают об активной эксплуатации в реальных атаках.
Рекомендации
- Немедленно обновите Firefox до версии 151.0.3 или новее. Обновление устраняет точку входа через браузер.
- Проверьте текущую версию: откройте
about:supportв адресной строке Firefox и убедитесь, что номер версии не ниже 151.0.3. - Пользователям Android: обновите Firefox через Google Play. Учитывая наличие полной цепочки эксплойтов для Android 17, мобильные пользователи находятся в зоне повышенного риска.
- Администраторам корпоративных сред: если используется Firefox ESR 140.12, уязвимость не затрагивает эту ветку. Однако стоит убедиться, что ни одна из управляемых установок не использует стабильные версии из диапазона 147–151.0.2.
- Обновление Firefox не устраняет CVE-2026-43499 (GhostLock) — уязвимость ядра Linux требует отдельного патча на уровне операционной системы. Следите за обновлениями безопасности Android и ядра Linux.
Публикация рабочего эксплойта для CVE-2026-10702 делает обновление Firefox до версии 151.0.3 приоритетной задачей — особенно на устройствах Android, где продемонстрирована полная цепочка от посещения веб-страницы до получения root-доступа. Пользователям мобильных устройств дополнительно следует установить все доступные обновления безопасности операционной системы для закрытия ядерной уязвимости GhostLock.