Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

Pale Moon 35.0.2 снижает нагрузку от CSS :has и закрывает пять проблем безопасности

Pale Moon 35.0.2 вышел 6 октября 2026 года как обновление производительности, стабильности и безопасности. Разработчики отключили CSS-селектор :has() по умолчанию после повторных проблем с нагрузкой, исправили сбои и BigInt, обновили код декодера VP8 и закрыли пять CVE.

Pale Moon 35.0.2
Pale Moon 35.0.2

CSS :has() снова отключён по умолчанию из-за серьёзной нагрузки

Самая заметная перемена в Pale Moon 35.0.2 связана с CSS-псевдоклассом :has(). Он позволяет стилям выбирать элемент в зависимости от содержимого или вложенных элементов и считается одной из наиболее заметных современных возможностей CSS.

Поддержка :has() появилась в Pale Moon 35.0.0, выпущенном 17 сентября. Уже в версии 35.0.1 от 22 сентября разработчики исправляли крупную проблему с производительностью этой реализации. В 35.0.2 команда пошла дальше и отключила функцию по умолчанию: в release notes говорится о дополнительных серьёзных просадках производительности на сайтах.

Получилась показательная цепочка:

ВерсияСостояние CSS :has()
Pale Moon 35.0.0Реализация добавлена и включена
Pale Moon 35.0.1Исправлена крупная проблема производительности
Pale Moon 35.0.2Реализация отключена по умолчанию из-за сохраняющейся нагрузки

Разработчики ожидают вернуть :has() после выяснения причины падения производительности. Возможность при этом остаётся в браузере: параметр layout.css.has-pseudo.enabled позволяет включить её вручную. Цена такого режима прямо обозначена в документации — более широкая совместимость сайтов сопровождается дополнительной нагрузкой на обработку страниц.

Для веб-сайтов, где CSS :has() используется как часть интерфейса, это может проявляться в отличиях оформления или поведения отдельных элементов. Сам Pale Moon описывает решение как компромисс между совместимостью и скоростью работы браузера.

Pale Moon 35.0.2 добавляет переключатель для строгой обработки HTML-форм

В ветке 35 разработчики ужесточили обработку HTML-форм, особенно форм, которые размещены в таблицах с нарушением требований стандарта. Изменение связано с безопасностью и более строгим следованием спецификации HTML.

В 35.0.2 для этого поведения появился отдельный параметр html5.forms.standards_compliant.

По умолчанию он установлен в true, то есть браузер использует строгий режим. Значение false возвращает более мягкий разбор HTML, близкий к поведению Pale Moon до версии 35; после изменения параметра требуется перезагрузка страницы.

Такой переключатель нужен прежде всего для старых сайтов и внутренних веб-систем, где HTML-разметка форм создавалась под более терпимое поведение браузеров. Для разработчиков это ещё один сигнал о том, что ошибки структуры документа способны влиять на реальное отображение и работу формы.

Пять CVE вошли в пакет исправлений безопасности

Pale Moon 35.0.2 закрывает пять проблем, которым присвоены идентификаторы CVE:

  • CVE-2026-100822;
  • CVE-2026-100783;
  • CVE-2026-100773;
  • CVE-2026-96869;
  • CVE-2026-100791.

Две из них — CVE-2026-100773 и CVE-2026-96869 — отмечены разработчиками Pale Moon как Defense-in-Depth, или DiD. В терминологии проекта это защитные изменения, которые сами по себе не относятся к потенциально активно эксплуатируемой уязвимости в Pale Moon, но уменьшают риск появления уязвимого сценария при будущих изменениях кода.

Среди перечисленных проблем есть уязвимости, ранее раскрытые в компонентах Mozilla. CVE-2026-100791 относится к use-after-free в DOM Core & HTML, CVE-2026-100773 — к use-after-free в IndexedDB, CVE-2026-100783 — к использованию неинициализированной памяти в аудио- и видеокомпоненте. CVE-2026-100822 описывает проблему подмены представления информации в HTTP-компоненте, а CVE-2026-96869 связана с раскрытием информации в сетевом компоненте.

При переносе исправлений в Pale Moon разработчики отдельно указывают собственную применимость этих проблем к коду браузера, поэтому статус DiD в release notes имеет значение именно для этой кодовой базы.

Потенциально эксплуатируемая утечка памяти исправлена отдельно

Помимо пяти CVE, в Pale Moon 35.0.2 устранена потенциально эксплуатируемая утечка памяти. В официальных примечаниях к выпуску она указана отдельным пунктом без дополнительного технического описания.

Обновление затрагивает и стабильность: разработчики сообщают об исправлении нескольких падений приложения. Для JavaScript устранена ошибка BigInt, из-за которой отдельные вызовы завершались сбоем или работали неправильно.

BigInt используется в JavaScript для целых чисел, выходящих за пределы безопасного диапазона обычного типа Number. Ошибка в этой части движка могла проявляться только в определённых вызовах, поэтому для большинства сайтов она оставалась незаметной, а для приложений с большими целыми значениями давала вполне конкретный функциональный сбой.

В декодер VP8 перенесено исправление из libvpx

Ещё одна техническая правка касается мультимедиа. Pale Moon 35.0.2 получил backport исправления из upstream-проекта libvpx для декодера VP8.

libvpx — библиотека для работы с видеокодеками VP8 и VP9. Pale Moon использует её внутри браузера, поэтому изменения upstream-кода могут напрямую влиять на воспроизведение видео, устойчивость декодера и безопасность обработки медиаданных.

В release notes конкретный дефект VP8 подробно не раскрывается, поэтому точный пользовательский сценарий для этого исправления разработчики не описывают.

Pale Moon 35.0.2 показывает цену ускоренной веб-совместимости

Версия 35.0.0 заметно расширила совместимость Pale Moon с современными веб-технологиями: появились :has(), adoptedStyleSheets, CSSStyleSheet.replaceSync, новые compatibility shims и другие изменения. Уже два последующих выпуска сосредоточились на последствиях этой модернизации — производительности, стабильности и корректности.

История с :has() особенно хорошо показывает сложность такого перехода. Селектор нужен современным сайтам, но текущая реализация оказалась слишком тяжёлой для включения по умолчанию. Команда сохранила код функции и одновременно вернула браузеру более предсказуемую производительность.

Pale Moon 35.0.2 в итоге выглядит как точечная корректировка ветки 35: одна новая веб-возможность временно отступила из настроек по умолчанию, HTML-формы получили дополнительный режим совместимости, а пакет безопасности закрыл пять CVE и отдельную утечку памяти. Срок возвращения :has() в стандартную конфигурацию разработчики пока не назвали.

Источники

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться