Релиз Firefox 74

Состоялся релиз web-браузера Firefox 74, а также мобильной версии Firefox 68.6 для платформы Android. Кроме того, сформировано обновление ветки с длительным сроком поддержки 68.6.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 75, релиз которой намечен на 7 апреля (проект перешёл на 4-недельный цикл разработки). Для бета-ветки Firefox 75 началось формирование сборок для Linux в формате Flatpak.

Основные новшества:

  • В сборках для Linux задействован механизм изоляции RLBox, нацеленный на блокирование эксплуатации уязвимостей в сторонних библиотеках функций. На данном этапе изоляция включена только для библиотеки Graphite, отвечающей за отрисовку шрифтов. RLBox выполняет компиляцию C/C++ кода изолируемой библиотеки в низкоуровневый промежуточный код WebAssembly, который затем оформляется в виде WebAssembly-модуля, полномочия которого задаются в привязке только к этому модулю. Собранный модуль работает в отдельной области памяти и не имеет доступа к остальному адресному пространству. В случае эксплуатации уязвимости в библиотеке атакующий будет ограничен и не сможет обратиться к областям памяти основного процесса или передать управление вне изолированного окружения.
  • Режим DNS поверх HTTPS (DoH, DNS over HTTPS) включён по умолчанию для пользователей из США. В качестве DNS-провайдера по умолчанию предлагается CloudFlare (mozilla.cloudflare-dns.com занесён в списки блокировки Роскомнадзора), а в качестве опции доступен NextDNS. Изменить провайдера или включить DoH в странах, отличных от США, можно в настройках сетевого соединения. Подробнее о DoH в Firefox можно прочитать в отдельном анонсе. 0_1581435655.png
  • Отключена поддержка протоколов TLS 1.0 и TLS 1.1. Для обращения к сайтам по защищённому каналу связи сервер должен предоставить поддержку как минимум TLS 1.2. По данным Google в настоящее время около 0.5% загрузок web-страниц продолжается осуществляться с использованием устаревших версий TLS. Отключение произведено в соответствии с рекомендациями IETF (Internet Engineering Task Force). Причиной отказа от поддержки TLS 1.0/1.1 является отсутствие поддержки современных шифров (например ECDHE и AEAD) и требование поддержки старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 и SHA-1). При попытке использования TLS 1.0 и TLS 1.1 начиная с Firefox 74 будет выводиться ошибка. Вернуть возможность работы с устаревшими версиями TLS можно через настройку security.tls.version.min в about: config.
  • В примечании к выпуску рекомендовано дополнение Facebook Container, которое автоматически блокирует размещаемые на сторонних сайтах виджеты Facebook, применяемые для аутентификации, отправки комментариев и лайков. Параметры идентификации Facebook изолируются в отдельном контейнере, затрудняя отождествление пользователя с посещаемыми сайтами. Возможность работы с основным сайтом Facebook сохраняется, но производится его изоляция от остальных сайтов.

    Для более гибкой изоляции произвольных сайтов предлагается дополнение Multi-Account Containers с реализацией концепции контекстных контейнеров. Контейнеры предоставляют возможность изоляции различных типов контента без создания отдельных профилей, что позволяет отделить между собой информацию отдельных групп страниц. Например, можно создать отдельные, изолированные друг от друга, области для персонального общения, работы, покупок и банковских операций или организовать одновременное использование разных аккаунтов пользователя на одном сайте. В каждом контейнере используются отдельные хранилища для Cookies, Local Storage API, indexedDB, кэша и содержимого OriginAttributes.

  • В about: config добавлена настройка «browser.tabs.allowTabDetach», позволяющая запретить отсоединение вкладок в новые окна. Случайное отсоединение вкладки является одной из самых раздражающих недоработок Firefox, устранения которой добивались 9 лет. Браузер позволяет мышью перетащить вкладку в новое окно, но при определённом стечении обстоятельств вкладка отсоединяется в отдельное окно и в процессе работы при неосторожном движении мыши во время клика на вкладку.
  • Прекращена поддержки дополнений, устанавливаемых обходным путём и не привязанных к пользовательским профилям. Изменение касается только установки дополнений в общие каталоги (/usr/lib/mozilla/extensions/, /usr/share/mozilla/extensions/ или ~/.mozilla/extensions/), обрабатываемые всеми экземплярами Firefox в системе (без привязки к пользователю). Подобный метод обычно применяется для предустановки дополнений в дистрибутивах, для непрошенной подстановки вместе со сторонними приложениями, для интеграции вредоносных дополнений или для обособленной поставки дополнения со своим инсталлятором. В Firefox 73 ранее принудительно установленные дополнения были автоматически перенесены из общего каталога в индивидуальные профили пользователей и теперь могут быть удалены через штатный менеджер дополнений.
  • Во входящем в состав браузера системном дополнении Lockwise, предлагающем интерфейс «about: logins» для управления сохранёнными паролями, появилась поддержка сортировки в обратном порядке (от Z к A).
  • В WebRTC повышена защита от утечки сведений о внутреннем IP-адресе во время голосовых и видеовызовов при помощи механизма «mDNS ICE», скрывающем локальный адрес за динамически генерируемым случайным идентификатором, определяемым через Multicast DNS.
  • Изменено расположение переключателя режима просмотра «картинка в картинке», который перекрывал кнопку перехода к следующему изображению в интерфейсе пакетной загрузки фотографий в Instagram.


  • В JavaScript добавлен оператор »?.», предназначенный для единовременной проверки всей цепочки свойств или вызовов. Например, указав «db?.user?.name?.length» теперь можно обратиться к значению «db.user.name.length» без предварительных проверок. Если какой-то элемент обработан как null или undefined на выходе будет выдано значение «undefined».
  • Прекращена поддержка на сайтах и в дополнениях метода Object.toSource () и глобальной функции uneval ().
  • Добавлено новое событие languagechange_even и связанное с ним свойство onlanguagechange, который позволяют вызвать обработчик при смене пользователем языка интерфейса.
  • Включена обработка HTTP-заголовка Cross-Origin-Resource-Policy, позволяющего серверу запретить вставку отдаваемых ресурсов (например, изображений) в контексте других доменов (cross-origin и cross-site);
  • Включён по умолчанию HTTP-заголовок Feature-Policy, позволяющий управлять поведением API и включением определённых возможностей (например, можно включить синхронный режим работы XMLHttpRequest или отключить Geolocation API). Для назначения прав для блоков iframe можно использовать атрибут «allow», через который можно разрешить запросы доступа к камере, микрофону, местоположению и т.п.

    В случае разрешения сайтом через атрибут «allow» работы с ресурсом для определённого iframe, и поступлении запроса из iframe на получения полномочий для работы с этим ресурсом, браузер теперь выводит диалог предоставления полномочий для основной страницы и делегирует подтверждённые пользователем права в iframe (вместо отдельного подтверждения для iframe и основной страницы). Но, если основная страница не имеет полномочий на ресурс, запрошенный через атрибут allow, доступ для iframe к ресурсу сразу блокируется, без вывода диалога пользователю.

  • Включена по умолчанию поддержка CSS-свойства 'text-underline-position', определяющее позицию подчёркивания текста (например, при вертикальном отображении текста можно организовать подчёркивание слева или справа, а при горизонтальном не только снизу, но и сверху). Дополнительно в управляющих стилем подчёркивания CSS-свойствах text-underline-offset и text-decoration-thickness добавлена поддержка использования значений в процентах.
  • В CSS-свойстве outline-style, определяющем стиль линии вокруг элементов, по умолчанию разрешено использование значения «auto» (ранее было отключено из-за проблем в GNOME).
  • В отладчик JavaScript добавлена возможность отладки вложенных Web Worker-ов, выполнение которых может быть приостановлено и пошагово отлажено с применением точек останова.
  • Для Windows и macOS реализована возможность импорта профилей из браузера Microsoft Edge на базе движка Chromium.

Кроме новшеств и исправления ошибок в Firefox 74 устранено 20 уязвимостей, из которых 10 (собраны под CVE-2020–6814 и CVE-2020–6815) помечены как потенциально способные привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Напомним, что проблемы с памятью, такие как переполнения буферов и обращение к уже освобождённым областям памяти, с недавних пор помечаются как опасные, но не критические.

Источник: http://www.opennet.ru/opennews/art.shtml? num=52513

© OpenNet