Компания Google представила релиз web-браузера Chrome 112. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 113 запланирован на 2 мая.
Основные изменения в Chrome 112:
- Расширена функциональность интерфейса “Проверка безопасности” (Safety check), показывающего сводку о возможных проблемах с безопасностью, таких как использование скомпрометированных паролей, состояние проверки вредоносных сайтов (Safe Browsing), наличие неустановленных обновлений и выявление вредоносных дополнений. В новой версии реализован автоматический отзыв ранее предоставленных полномочий для давно не используемых сайтов, а также добавлены опции для отключения автоматического отзыва и возвращения отозванных полномочий.
- Сайтам запрещена установка свойства document.domain для применения условий same-origin для ресурсов, загружаемых для разных поддоменов. При необходимости установки канала связи между поддоменами следует использовать функцию postMessage() или API Channel Messaging.
- Прекращена поддержка выполнения специализированных web-приложений Chrome Apps на платформах Linux, macOS и Windows. Вместо Chrome Apps следует использовать обособленные web-приложения на базе технологии Progressive Web Apps (PWA) и стандартных Web API.
- Во встроенном хранилище корневых сертификатов удостоверяющих центров (Chrome Root Store) включена обработка ограничений имён для корневых сертификатов (например, определённому корневому сертификату может быть разрешена генерация сертификатов только для отдельных доменов первого уровня). В
Chrome 113 планируется переход на использование Chrome Root Store и встроенного механизма верификации сертификатов на платформах Android, Linux и ChromeOS (в Windows и macOS переход на Chrome Root Store был совершён ранее). - Для части пользователей предложен упрощённый интерфейс подключения учётной записи в Chrome.
- Предоставлена возможность экспорта или создания резервных копий в архиваторе Google (Google Takeout) данных, используемых при синхронизации разных экземпляров Chrome и имеющих типы AUTOFILL, PRIORITY_PREFERENCE, WEB_APP, DEVICE_INFO, TYPED_URL, ARC_PACKAGE, OS_PREFERENCE, OS_PRIORITY_PREFERENCE и PRINTER.
- Страница авторизации дополнений на базе Web Auth Flow теперь показывается во вкладке, а не в отдельном окне, что позволяет видеть URL для защиты от фишинга, совместно использует общее состояние подключения для всех вкладок и сохраняет состояние после перезапуска.
- Из service worker-ов браузерных дополнений разрешён доступ к API WebHID, предназначенному для низкоуровневого доступа к HID-устройствам (Human interface device, клавиатуры, мыши, геймпады, сенсорные панели) и организации работы без наличия в системе специфичных драйверов. Изменение внесено для обеспечения перевода на третью версию манифеста Chrome дополнений, ранее обращавшихся к WebHID из фоновых страниц.
- В CSS добавлена поддержка вложенных правил, определяемых при помощи селектора “nesting”. Вложенные правила дают возможность сократить размер CSS-файла и избавиться от повторяющихся селекторов. .nesting { color: hotpink; > .is { color: rebeccapurple; > .awesome { color: deeppink; } } }
- Добавлено CSS-свойство animation-composition, позволяющее использовать композитные операции для одновременного применения нескольких анимаций, затрагивающих одно и тоже свойство.
- Разрешена передача кнопки submit в конструктор FormData, что позволяет создавать объекты FormData с тем же набором данных, что и при отправке исходной формы после нажатия на кнопку.
- В регулярные выражения с флагом “v” добавлена поддержка операций установки (set), строковых литералов, вложенных классов и свойств строк unicode, упрощающих создания регулярных выражений, охватывающих определённые Unicode-символы. Например, конструкция “/[p{Script_Extensions=Greek}&&p{Letter}]/v” позволяет охватить все греческие символы.
- Обновлён алгоритм выбора начального фокуса для диалогов, созданных с использованием элемента . Фокус ввода теперь устанавливается на элементах, связанных с вводом с клавиатуры, а не непосредственно на элементе .
- В WebView началось тестирование перевода заголовка X-Requested-With в разряд устаревших.
- Внесены улучшения в инструменты для web-разработчиков. Добавлена поддержка вложенных CSS. Во вкладке Rendering добавлен режим эмуляции сниженной контрастности, позволяющий оценить как видят сайт люди со сниженной контрастной чувствительностью. В web-консоли реализовано выделение сообщений, связанных с условными точками останова точками журналирования (logpoint). В панель для работы со стилями добавлены всплывающие подсказки с кратким описанием назначения CSS-свойств.
Кроме нововведений и исправления ошибок в новой версии устранено 16 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 14 премий на сумму 26.5 тысяч долларов США (по три премии $5000 и $1000, две премии $2000 и по одной премии в $1000 и $500). Размер 4 вознаграждений пока не определён.