Состоялся релиз web-браузера Firefox 102. Выпуск Firefox 102 отнесён к категории веток с длительным сроком поддержки (ESR), обновления для которых выпускаются в течение года. Кроме того, сформировано обновление прошлой ветки с длительным сроком поддержки 91.11.0 (в дальнейшем ожидается ещё два обновления 91.12 и 91.13). На стадию бета-тестирования в ближайшие часы будет переведена ветка Firefox 103, релиз которой намечен на 26 июля.
Основные новшества в Firefox 102:
- Предоставлена возможность отключения автоматического открытия панели с информацией о загружаемых файлах при начале каждой новой загрузки.
- Добавлена защита от отслеживания перехода на другие страницы через выставление параметров в URL. Защита сводится к удалению из URL параметров, используемых для отслеживания (таких как utm_source), и активируется при включении в настройках строгого режима блокировки нежелательного контента (Enhanced Tracking Protection -> Strict) или при открытии сайта в режиме приватного просмотра. Выборочно чистку также можно включить через параметр privacy.query_stripping.enabled в about:config.
- Функции декодирования звука вынесены в отдельный процесс с более строгой sandbox-изоляцией.
- В режиме “картинка в картинке” обеспечен показ субтитров, при просмотре видео с сайтов HBO Max, Funimation, Dailymotion, Tubi, Disney+ Hotstar и SonyLIV. Ранее субтитры показывались только для YouTube, Prime Video, Netflix и сайтов, использующих формат WebVTT (Web Video Text Track).
- На платформе Linux предоставлена возможность использования DBus-сервиса Geoclue для определения местоположения.
- Улучшен просмотр PDF-документов в режиме высокого контраста.
- В интерфейсе для web-разработчиков во вкладке Style Editor появилась поддержка фильтрации таблиц стилей по имени.
- В API Streams добавлен класс TransformStream и метод ReadableStream.pipeThrough, которые можно использовать для создания и передачи данных в форме потока (pipe) между ReadableStream и WritableStream, с возможности вызова обработчика для преобразования потока для каждого блока.
- В API Streams добавлены классы ReadableStreamBYOBReader, ReadableByteStreamController и ReadableStreamBYOBRequest для эффективной прямой передачи бинарных данных в обход внутренних очередей.
- Намечено для удаления нестандартное свойство Window.sidebar, предоставляемое только в Firefox.
- Обеспечена интеграция CSP (Content-Security-Policy) c WebAssembly, что позволяет применять ограничения CSP и для WebAssembly. Теперь документ, для которого через CSP запрещается выполнение скриптов, не сможет запустить байткод WebAssembly, если не выставлен параметр ‘unsafe-eval’ или ‘wasm-unsafe-eval’.
- В CSS в медиа-запросах реализовано свойство update, позволяющее привязаться к частоте обновления информации, поддерживаемой устройством вывода (например, значение “slow” выставляется для экранов электронных книг, “fast” для обычных экранов, а “none” при выводе на печать).
- Для дополнений, поддерживающих вторую версию манифеста, предоставлен доступ к API Scripting, позволяющем запускать скрипты в контексте сайтов, подставлять и удалять CSS, а также управлять регистрацией скриптов обработки контента.
- В Firefox для Android при заполнении форм с данными кредитной карты обеспечен вывод отдельного запроса на сохранение введённой информации для системы автозаполнения форм. Устранена проблема, приводившая к аварийному завершению при открытии экранной клавиатуры, если в буфере обмена содержится большая порция данных. Решена проблема с остановкой Firefox при переключении между приложениями.
Кроме новшеств и исправления ошибок в Firefox 102 устранены 22 уязвимости, из которых 5 помечены как опасные.
Уязвимость CVE-2022-34479 позволяет на платформе Linux вывести всплывающее окно, перекрывающее адресную строку (может использоваться для симуляции фиктивного интерфейса браузера, вводящего пользователя в заблуждение, например, для фишинга). Уязвимость CVE-2022-34468 позволяет обойти ограничения CSP, запрещающие выполнение JavaScript-кода в iframe, через подстановку ссылок URI “javascript:”.
5 уязвимостей (сведены под CVE-2022-34485, CVE-2022-34485 и CVE-2022-34484) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.