Выпуск Web-браузера Chrome 127

Компания Google опубликовала релиз web-браузера Chrome 127. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 128 запланирован на 20 августа.

Основные изменения в Chrome 127:

  • В режиме “инкогнито” по умолчанию включена функция “HTTPS-First”, выполняющая автоматическое перенаправление HTTP-запросов на HTTPS.
    Для обеспечения работы с сайтами не поддерживающими HTTPS, реализован откат на HTTP, если после проброса не удаётся выполнить запрос по HTTPS или возникают проблемы с сертификатами. При попытке открытия сайта по HTTP выводится специальное предупреждение.
  • Во встроенном хранилище корневых сертификатов (Chrome Root Store) решено прекратить доверие к удостоверяющему центру Entrust из-за множественных нарушений требований к удостоверяющим центрам, не соблюдение сроков реагирования на проблемные сертификаты, затягивание отзыва сертификатов, ненадлежащее оформление отчётов об инцидентах и не соблюдение правил при выдаче TLS-сертификатов уровня EV (Extended Validation), требующих проведения проверки документов о принадлежности домена и подтверждение владельца ресурса. В связи с отсутствием действий по устранению выявленных недостатков, TLS-сертификаты, выданные Entrust после 31 октября 2024 года, будут восприниматься в Chrome как не заслуживающие доверия. Сертификаты, выпущенные до 31 октября, продолжат восприниматься как нормальные.
  • Начался процесс постепенного прекращения поддержки второй версии манифеста Chrome, определяющего возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Отключение дополнений, использующих вторую версию манифеста, пока затрагивает только часть пользователей тестовых сборок Chrome (не релизов). Полностью завершить миграцию на третью версию манифеста планируется до июня 2025 года.
  • При включении расширенной защиты браузера (Safe Browsing > Enhanced protection) реализована отправка на серверы Google дополнительной телеметрии с информацией о просматриваемых страницах, если на этих страницах используются API для инициирования вибрации (Vibration) или полного контроля над мышью (PointerLock) и клавиатурой (Keyboard). Если открываемая страница присутствует в чёрном списке, пользователю выводится соответствующие предупреждение и действие отмеченных API отключается.
  • Подведены итоги работы по модернизации проверки загружаемых файлов в режиме расширенной защиты браузера (Safe Browsing > Enhanced protection), при которой включена отправка исполняемых файлов и подозрительных архивов на серверы Google для проверки на наличие вирусов и вредоносного ПО. Для проверки безопасности загружаемых зашифрованных архивов (.zip, .7z и .rar) браузер запросит у пользователя пароль для расшифровки архива. Пользователь может отказаться от проверки или ввести пароль, после чего браузер отправит файл с паролем для проверки на серверы Google. В стандартном (не расширенном) режиме Safe Browsing также будет выведен запрос пароля, но вместо отправки содержимого архива на серверы Google для проверки будут отправлены только метаданные и хэши от содержащихся в архиве файлов. Реализованы более заметные предупреждения о загрузке опасных файлов, которые выводятся не в нижней панели, а под верхней панелью.

  • Предложена начальная реализация спецификации Private Network Access, ограничивающая возможность загрузки ресурсов с публично доступного сайта, ссылающихся на хосты во внутренней сети (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 и т.п.). Загрузка подобных ресурсов теперь допускается только при открытии страницы в безопасном контексте (по HTTPS). В дальнейшем планируется полностью ограничить возможность неконтролируемого обращения к внутренним интранет-подсетям со страниц, открываемых с публичных сайтов так как подобные запросы используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Эксперименты с блокировкой были начаты ещё в 2022 году в Chrome 98, но из-за выявления пробоем блокировка была отложена.
  • В режиме “Origin trials” реализована экспериментальная блокировка доступа к IP 0.0.0.0, так как данный IP может использоваться для обхода блокировки обращения к IP 127.0.0.1 (localhost) на платформах Linux и macOS.
  • В версии для платформы Android упрощён интерфейс для привязки к учётной записи в Google и синхронизации данных, таких как сохранённые пароли и закладки. Синхронизация теперь интегрирована с входом в учётную запись и не преподносится как отдельная возможность в настройках.
  • В версии для платформы Android обновлён интерфейс управления паролями. Пользователям, подключившимся к своей учётной записи в Google, но не активировавшим синхронизацию, предоставлена возможность сохранения и использования паролей в привязке к учётной записи в Google.
  • Добавлена настройка “Автоматическое включение полноэкранного режима” (Automatic Fullscreen, chrome://settings/content/automaticFullScreen), позволяющая сайтам автоматически включать полноэкранный режим при помощи метода Element.requestFullscreen() без подтверждения пользователем, а также дающая возможность выводить диалоги браузера без выхода из полноэкранного режима. По умолчанию настройка отключена и может быть активирована в привязке к отдельным сайтам и web-приложениям. В комбинации с API Window Management и настройками всплывающих уведомлений (chrome://settings/content/popups) новая функция упрощает использование таких возможности как открытие всплывающего окна на всём экране другого монитора, показ полноэкранного содержимого на всех экранах или на дополнительном экране, переключение полноэкранного содержимого с одного дисплея на другой.
  • Добавлено CSS-свойство font-size-adjust, позволяющее изменять размер строчных букв относительно размера прописных букв, заданного через свойство “font-size”, что может быть полезным, например, для сохранения прежнего уровня читаемости текста в условиях задействования запасного семейства шрифтов при недоступности основного. У шрифтов, имеющих разных коэффициент соотношения высоты строчных букв к размеру шрифта, размер букв существенно отличается, что, например, может сделать текст плохо читаемым при замене шрифта Verdana на Times.

  • В API для статической маршрутизации ServiceWorker-ов (Service Worker Static Routing), который позволяет определить, как следует загружать определённые ресурсы и отключить вызов ServiceWorker-а для ресурсов, которые можно извлечь из кэша или загрузить напрямую, добавлена возможность применения логической операции “not” для инвертирования условий сопоставления запросов.
  • Обеспечена передача событий активации, сформированных при работе пользователя с контентом в окне, открытым в режиме “картинка в картинке” (picture-in-picture), в родительское для данного режима окно. Изменение позволяет на основной странице, из которой было открыто окно “картинка в картинке”, использовать API User Activation (navigator.userActivation) для определения взаимодействия пользователя с данным окном (например, можно узнать щёлкал ли пользователь мышью в окне “картинка в каринке” или страница лишь загружена и остаётся нетронутой).
  • Внесены улучшения в инструменты для web-разработчиков.
    При просмотре CSS-стилей добавлены ссылки на соответствующие позиции в документе, на которые ссылаются CSS-свойства управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning). При просмотре HTML-кода добавлены ссылки на которые указывает атрибут “popovertarget”. В панели инспектирования сетевой активности добавлена новая преднастройка симуляции скорости доступа “Fast 4G” (преднастройка “Fast 3G” переименована в “Slow 4G”, а “Slow 3G” в “3G”). В панели анализа производительности при трассировке обеспечен показ сведений о событиях отправки и приёма сообщений через WebSocket.

Кроме нововведений и исправления ошибок в новой версии устранены 24 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. 5 проблемам присвоен высокий уровень опасности. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 16 премии на сумму 47.5 тысяч долларов США (по одной премии в $11000, $5000, $3000 и $500, две премии $8000, три премии $2000). Размер 6 вознаграждений пока не определён. .



Release. Ссылка here.