Компанія 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 ) > 2): lightblue; else: white);
- До елементів « » та « » додано підтримку атрибуту «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 секунд браузер аварійно завершує роботу.
Джерело: opennet.ru


