Компания Google опубликовала релиз web-браузера Chrome 142. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 143 запланирован на 2 декабря.
Основные изменения в Chrome 142:
Включена защита от обращения к локальной системе при взаимодействии с публичными сайтами. При обращениях с сайта в публичной или внутренней сети (интранет) к IP-адресам локальной системы или loopback-интерфейсу (127.0.0.0/8) браузер будет выводить пользователю диалог с запросом подтверждения операции. Под действия защиты попадают попытки загрузки ресурсов, запросы fetch() и iframe-вставки. Защита пока не применяется для соединений через WebSockets, WebTransport и WebRTC, но будет добавлена для данных технологий позднее.
Обращение к внутренним ресурсам используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Кроме того, сканирование внутренних ресурсов может использоваться для косвенной идентификации или сбора сведений о локальной сети.
Предложен единый упрощённый интерфейс для привязки к учётной записи в Google и синхронизации данных, таких как сохранённые пароли и закладки. Синхронизация интегрирована с входом в учётную запись и не преподносится как отдельная возможность в настройках. Пользователи могут подключить Chrome к учётной записи в Google и использовать её для хранения паролей, закладок, истории посещений и вкладок. Возможность пока активирована для части пользователей, постепенно охват будет увеличиваться.
Задействована новая модель изоляции процессов - "Origin Isolation", при которой каждый источник контента (origin - связка из протокола, домена и порта, например, "https://foo.example.com"), изолируется в отдельном процессе отрисовки. Так как увеличение дробления изоляции может привести к повышению потребления памяти и росту нагрузки на CPU, новый режим изоляции включается только на системах, имеющих больше 4 ГБ ОЗУ. На маломощном оборудовании продолжит использоваться старый подход к изоляции, при котором в отдельном процессе изолируются все разные источники контента, связанные с одним сайтом (например, foo.example.com и bar.example.com).
На системах с Windows и macOS, в которых не применяется централизованное управление Chrome, реализовано автоматическое отключение принудительно установленных браузерных дополнений, в которых выявлены несущественные нарушения правил каталога Chrome Web Store. К несущественным нарушениям причисляется наличие потенциальных уязвимостей, навязывание дополнения без ведома пользователя, манипуляции с метаданными, нарушение правил работы с пользовательскими данными и введение в заблуждение о функциональности. При желании пользователь может вернуть отключённое дополнение.
В версии для Android, по аналогии со сборками для десктоп-систем, реализован вывод предупреждения о мошеннических страницах, выявленных большой языковой моделью на основе анализа содержимого. Использование AI применяется в режиме расширенной защиты браузера (Enhanced Safe Browsing). AI-модель выполняется на стороне клиента, но в случае выявления подозрений на сомнительный контент, выполняется дополнительная проверка на серверах Google.
В реализации протокола DTLS (Datagram Transport Layer Security, аналог TLS для UDP), применяемой для соединений WebRTC, включено использование алгоритмов постквантового шифрования.
Реализовано сохранение статуса активации, выставляемого при активности пользователя на странице, после перехода на другую страницу с тем же доменом. Сохранение активации упростит разработку многостраничных web-приложений и решит такие проблемы, как выставление фокуса ввода при отображении сайтом своей виртуальной клавиатуры.
В CSS добавлены псевдо-классы ":target-before" и ":target-after" для определения предыдущих и следующих маркеров, относительно текущей позиции прокрутки (":target-current").
В контейнерах стилей ("@container") и функции "if()" разрешено использование синтаксиса диапазонов (Range Syntax), определённого в спецификации Media Queries Level 4 и позволяющего использовать обычные математические операторы сравнения и логические операторы для определения диапазонов значений. Например, теперь можно указывать "@container style(--inner-padding › 1em)" и "background-color: if(style(attr(data-columns, type‹number›) › 2): lightblue; else: white);"
В элементы "‹button›" и "‹a›" добавлена поддержка атрибута "interestfor", при помощи которого можно организовать вызов действий, например, показать всплывающее окно, в ситуациях когда пользователь проявит интерес к элементу. Признаками проявления интереса браузер считает такие ситуации, как наведение и удержание указателя на элементе, нажатие горячих клавиш или удержание касания на сенсорном экране. При выявлении интереса на элементе с атрибутом "interestfor" браузер генерирует событие InterestEvent.
Внесены улучшения в инструменты для web-разработчиков. В верхний правый угол добавлена кнопка для быстрого вызова AI-ассистента. Элемент контекстного меню "Ask AI" переименован в "Debug with AI" и расширен возможностью выполнения непосредственных действий в зависимости от контекста. В web-консоли и панели с кодом AI-ассистент Gemini теперь может генерировать рекомендации с кодом.
В инструментах для web-разработчиков обеспечена интеграция с сервисом GDP (Google Developer Program). Разработчик теперь сможет подключаться к своему профилю в GDP непосредственно из Chrome DevTools и получать бонусы за выполнение определённых работ в данном интерфейсе.
Кроме нововведений и исправления ошибок в новой версии устранены 20 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google учредила 20 премий на сумму 130 тысяч долларов США (две премии 50 тысяч долларов, по одной премии в $10000 и три премии $3000, две премии $2000 и три премии $1000). Размер 8 вознаграждений пока не определён.
Дополнительно можно отметить выявление ещё не исправленной уязвимости в движке Blink, которая приводит к аварийному завершению и зависанию браузера при выполнении определённого JavaScript-кода. Уязвимость вызвана архитектурными проблемами в движке отрисовки, связанными с отсутствием ограничения на интенсивность операций обновления свойства "document.title". Отсутствие ограничений позволяет использовать "document.title" для внесения в DOM десятков миллионов изменений в секунду, что через несколько секунд приводит к зависанию интерфейса из-за блокировки основного потока и значительного потребления памяти, а через 15-60 cекунд браузер аварийно завершает работу.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64142






