Выпуск web-браузера Chrome 122

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

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

  • В соответствии с требованиями европейского закона DMA (Digital Markets Act) в браузер добавлен экран выбора поисковой системы, которая будет использоваться по умолчанию. На выбор предлагаются поисковые системы, доступные в разделе настроек «chrome://settings/search». Поисковые системы в списке отображаются в случайном порядке.

    CFD0C5CECEC5D4_1708537844.png

  • На страницу «chrome://settings/security» добавлена настройка, позволяющая отключить JIT-оптимизаторы в JavaScript-движке V8. Отключение JIT может быть полезным для повышения безопасности работы с потенциально опасными web-приложениями за счёт уменьшения возможных векторов для совершения атаки. При отключении JIT производительность выполнения JavaScript снижается примерно на 20%.

  • В версии для Android добавлена функция чтения вслух текста, имеющегося на web-странице. Режим чтения можно включить в выпадающем меню и управлять им при помощи типовых кнопок управления воспроизведением. Функция использует для работы внешний сервис и отправляет ссылку на страницу на серверы Google, которые осуществляют синтез речи.

  • Продолжается тестирование экспериментальных возможностей, использующих машинное обучение — режима умной группировки вкладок, генератора тем оформления и интерактивного помощника, о которых было рассказано в анонсе выпуска Chrome 121.

  • В режиме защиты браузера (Safe Browsing) реализована поддержка асинхронно выполняемых внешних проверок, не блокирующих загрузку проверяемой страницы. При этом проверки по локальным списка по-прежнему осуществляются в синхронном режиме и страница не показывается до их завершения, чтобы защитить пользователя от использования на страницах эксплоитов. Что касается фишинга, то маловероятно, что пользователь успеет отреагировать на страницу до завершения внешней проверки и вывода предупреждения.

  • Переработан текст предупреждений, показываемых при попытке загрузки вредоносных файлов и для уже загруженных файлов в менеджере загрузок.

    CFD0C5CECEC5D4_1708539317.png

  • Началось постепенный переход к игнорированию обработчиков событий «unload», которые не позволяют эффективно использовать кэш перехода (BFCache — Back-forward cache), обеспечивающий мгновенный переход при использовании кнопок «Назад» и «Вперёд» или при навигации по ранее просмотренным страницам текущего сайта. Поведение стационарного Chrome будет приближено к мобильным браузерам, которые в большинстве случаев не генерируют событие «unload», отдавая приоритет кэшированию переходов. В Chrome 122 обработка события «unload» отключена для 1% пользователей.

  • В системе автозаполнения параметров платежей добавлена возможность сохранения кодом для проверки подлинности (CVV/CVC) для локальных и серверных карт. Коды сохраняются после вывода предупреждения и только после явного согласия пользователя.




  • Добавлен API Storage Buckets, предоставляющий дополнительные возможности для управления постоянным хранением данных на локальной системе пользователя. Новый API позволяет организовать хранение данных с разбиением хранилища на отдельные сегменты, ассоциированные с API IndexedDB и CacheStorage. Сегменты удаляются браузером независимо друг от друга, а пользователю предоставлена возможность определения приоритетов, управляющих тем, какие из сегментов следует удалять в первую очередь.

    Подобная организация позволяет хранить важные данные в сегментах c высоким приоритетом, а вторичные, которые нестрашно потерять, — с низким. Таким образом решается проблема с потерей важных данных в случае исчерпания доступных лимитов на размер хранилища, предоставляемого через API IndexedDB и localStorage.

  • В API Async Clipboard в метод read () добавлена опция «unsanitized», применяемая при копировании из буфера обмена и вставки в него. При выставлении данной опции приложению предоставляется неизменное содержимое разметки HTML для данных из буфера обмена, без проведения чистки, нормализации и замены опасных конструкций (например, не преобразуется содержимое блока »‹style›»).

  • CSS-запросы »@container» теперь не будут срабатывать при указании неподдерживаемых возможностей, например, запрос »@container (width > 0 px) or (unknown) {}» никогда не сработает из-за выражения «unknown».

  • В CSS разрешено определение условий в правилах импорта »@import supports (…)». Если проверка не проходит импорт не производится. Например, для загрузки стилей в случае выставления «animation-timeline» в значение «auto» можно указать 'scroll-driven-animations.css '@import «scroll-driven-animations.css» supports (animation-timeline: auto);'.

  • В CSS изменена и приведена к требованиям обновлённой спецификации логика обработки псевдо-элемента »:: backdrop», который теперь наследуется из исходного элемента (ранее »:: backdrop» не наследовал значения других элементов, что не позволяло получить доступ к свойствам, определённым в корневом элементе).

  • Действие метода dataTransfer.clearData () ограничено только текстовыми объектами, т.е. данный метод больше не может применяться к объектам File.

  • В WebGL добавлена функция drawingBufferStorage, позволяющая настроить пиксельный формат для буфера отрисовки, что позволяет напрямую выводить содержимое с более 8 битами на цветовой канал и избежать лишних операций копирования, требовавшихся для преобразования в пиксельный формат по умолчанию.

  • Внесены улучшения в инструменты для web-разработчиков. Добавлена поддержка изменения цветового оформления и следования стилю, заданному в выбранной в браузере теме оформления.

    CFD0C5CECEC5D4_1708586425.png

    Расширены возможности панели для анализа производительности, в которой на шкале времени появилась поддержка сохранения диапазонов хода выполнения (отрезков на шкале времени) и переключения между ними.

    В основной трек (Performance > Main) добавлен показ инициаторов событий и их наглядной связи с событиями, которые они вызывают.

    CFD0C5CECEC5D4_1708582878.png

    В панели анализа сетевой активности в колонке с состоянием выполнения запросов обеспечен показ причин сбоев. Переработано контекстное меню для копирования ссылки или содержимого запроса.

    CFD0C5CECEC5D4_1708586215.png

Кроме нововведений и исправления ошибок в новой версии устранено 12 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премий на сумму 28 тысяч долларов США (по одной премии в $8000, $7000, $5000, $3000 и $2000, и три премии $1000). Наибольшие вознаграждения присуждены за ошибку в реализации изоляции сайтов, выявление переполнения буфера в движке Blink и обращение к уже освобождённой памяти (Use-after-free) в библиотеке Mojo.



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

© OpenNet