Состоялся релиз web-браузера Firefox 135 и сформированы обновления прошлых веток с длительным сроком поддержки – 115.20.0 и 128.7.0. На стадию бета-тестирования переведена ветка Firefox 136, релиз которой намечен на 4 марта.
Основные новшества в Firefox 135:
- Во встроенном переводчике появилась поддержка перевода на русский язык (перевод с русского языка на другие языки был доступен ранее, но перевода на русский небыло), а также перевода с корейского, японского и упрощённого китайского языков. Повышено качество перевода, например, исключены ситуации с подстановкой AI-моделью выдуманных слов. Встроенная в Firefox система перевода выполняет перевод на локальной системе пользователя без обращения к внешним облачным сервисам. Система основана на открытом движке Bergamot. Движок представляет собой обвязку над фреймворком машинного перевода Marian, в котором применяется рекуррентная нейронная сеть (RNN) и языковые модели на основе трансформеров.
- Доступен для всех пользователей встроенный AI-чатбот, использующий большие языковые модели для взаимодействия на естественном языке. Чатбот отображается в боковой панели и может работать через сервисы Anthropic Claude, ChatGPT, Google Gemini, HuggingChat (Hugging Face) и Le Chat Mistral. Пользователь может переключаться между сервисами по своему желанию. Помимо чата в контекстное меню добавлена кнопка “Ask …”, через которую можно передать чатботу выделенный на странице фрагмент, например, для составления краткого изложения содержимого или пояснения сути простыми словами. Для добавления собственных языковых моделей, работающих на локальной системе, можно использовать инструментарий llamafile.
- Для пользователей из всех стран, для которых доступен сервис рекомендаций Mozilla Stories, включено новое оформление страницы, показываемой при открытии новой вкладки. В прошлом выпуске новое оформление было предложено только пользователям из США и Канады. Новый вариант отличается появлением поисковой строки и списка рекомендованных страниц, а также изменением оформления блока с часто посещаемыми и закреплёнными сайтами, которые теперь показываются не в виде сетки, а в одну строку. Число столбцов с контентом выбирается в зависимости от ширины окна, что позволяет эффективно использовать всё доступное экранное пространство.
- Для всех пользователей включена поддержка автоматического запоминания и заполнения номеров кредитных карт в web-формах. Код CVV не запоминается, а номера карт сохраняются в защищённом хранилище, для доступа к которому можно задать отдельный пароль.
- Включена обязательная проверка TLS-сертификатов web-серверов в публичных журналах Certificate Transparency, предназначенных для выявления сертификатов, созданных в обход штатных рабочих процессов удостоверяющего центра (например, скрытое создание сертификата в результате злоупотребления сотрудника или компрометации удостоверяющего центра). Удостоверяющий центр передаёт сведения о всех новых сертификатах в несколько независимых журналов Certificate Transparency, которые дают возможность провести аудит всех изменений. Если при обращении к сайту используется сертификат, не отражённый в журнале, то такой сертификат будет помечен браузером как небезопасный.
Журналы сопровождают разные не связанные между собой организации. Для защиты от искажения данных задним числом при хранении данных применяется древовидная структура “Дерево Меркла” (Merkle Tree), в которой каждая ветка верифицирует все нижележащие ветки и узлы, благодаря древовидному хешированию. Имея конечный хэш пользователь может удостовериться в корректности всей истории операций, а также в корректности прошлых состояний БД.
- Для ускорения проверки отзыва TLS-сертификатов задействован механизм CRLite, работающий на системе пользователя. Хранимая в стороне пользователя БД с информацией о сертификатах периодически синхронизируется с внешней БД Mozilla. Для сокращения размера БД применяются каскадные фильтры Блума – вероятностная структура, допускающая ложное определение отсутствующего элемента, но исключающая пропуск существующего элемента. Например, данные о 100 млн. сертификатов упаковываются в структуру, размером около 1 МБ.
По сравнению с обращением к удостоверяющему центу с использованием протокола OCSP (Online Certificate Status Protocol), применение CRLite не только убирает задержки на отправку сетевого запроса, но и повышает конфиденциальность (при использовании OCSP браузер отправляет запрос при любом обращении к сайтам, т.е. фактически передаёт удостоверяющему центру данные о том, какие сайты он открывает) и исключает зависимость от доступности OCSP-серверов (атакующий может осуществить DDoS-атаку на OCSP-сервер для блокировки обработки запросов).
- Добавлена защита от манипуляций, затрудняющих навигацию с использованием кнопок “назад” и “вперёд”, из-за замусоривания истории посещений фиктивными записями, созданными при помощи API History. Суть защиты сводится к игнорированию записей, не связанных с действиями пользователя, при обработке нажатий на кнопки “назад” и “вперёд”.
- В сборки для Linux и macOS добавлена опция для закрытия только текущей вкладки в ситуации нажатия клавиатурной комбинации для выхода из приложения (Alt + F4).
- Из страницы с настройками приватности (about:preferences#privacy) убрана опция для отправки сайтам HTTP-заголовка “Do Not Track” (“DNT”). Заголовок DNT информирует сайты о нежелании пользователя передавать на хранение сведения, которые могут использоваться для отслеживания перемещений и предпочтений. Заголовок DNT не является обязательным и игнорируется многими сайтами. Вместо DNT рекомендуется использовать механизм GPC (Global Privacy Control), информирующий сайты о запрете продажи персональных данных и использования данных для отслеживания поведения или перемещения пользователя. В отличие от DNT исполнение требований GPC является обязательным с точки зрения действующего закона CCPA (California Consumer Privacy Act).
- Операций контекстного меню “Copy Without Site Tracking” переименована в “Copy Clean Link” и расширена возможностью использования для голых URL в тексте (без гиперссылок). Операция позволяет скопировать URL выбранной ссылки в буфер обмена, предварительно вырезав из него параметры, используемые для отслеживания переходов между сайтами.
- В адресной строке реализована возможность поиска имён групп вкладок и перехода к найденным группам. Поиск охватывает среди прочего закрытые и сохранённые группы.
- Для сжатия сборок Firefox для платформы Linux задействован формат XZ, который по сравнению с форматом bz2 позволил сократить размер загружаемых данных в среднем на 25% и уменьшить время распаковки более чем в два раза.
- Для HTTP/3 добавлена поддержка гибридного алгоритма обмена ключами “mlkem768x25519”, стойкого к подбору на квантовом компьютере и представляющего собой комбинацию из X25519 ECDH и алгоритма ML-KEM (CRYSTALS-Kyber), в прошлом году стандартизированного Национальным институтом стандартов и технологий США (NIST). ML-KEM использует методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
- В атрибутах интерфейса PointerEvent, определяющих координаты указателя, реализована передача нецелых значений. Изменение позволяет обрабатывать события с большей точностью в ситуациях, когда целевой элемент преобразован через CSS или когда увеличен масштаб
видимой области (viewport). - Поведение событий mouseenter, mouseleave, pointerenter и pointerleave изменено для соответствия спецификации.
- В API WebAuthn добавлен метод getClientCapabilities().
- В инструментах для web-разработчиков обеспечен вывод предупреждения при использовании свойства “content-visibility” с элементами, к которым не применяется ограничение размера.
- В web-консоль добавлена команда “$$$”, предназначенная для поиска на страницах с учётом содержимого теневого DOM.
- Расширены возможности для отладки WebExtension-дополнений: налажена работа точек остановка в скриптах обработки контента и обеспечено отображение Worker-ов при выборе контекста в панели Console.
- В версии для Android добавлена опция, включающая автоматическую отправку в Mozilla отчётов об аварийном завершении браузера, без подтверждения пользователя.
Кроме новшеств и исправления ошибок в Firefox 135 устранено 19 уязвимостей. 13 уязвимостей, помеченные как опасные, вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.