Компанията Google публикува изданието на уеб браузъра Chrome 123. В същото време е налично стабилно издание на свободния проект Chromium, който е основата на Chrome. Уеб браузърът Chrome се отличава от Chromium с използването на логотипите на Google, наличието на система за изпращане на известия в случай на срив, модули за възпроизвеждане на защитено от копиране видео съдържание (DRM), система за автоматично инсталиране на актуализации, постоянно включен SandBox, предоставяне на ключове за Google API и предаване на RLZ параметри при търсене. За тези, които се нуждаят от допълнително време за актуализация, отделно се поддържа клон Extended Stable, който получава актуализации на всеки 8 седмици. Следващото издание на Chrome 124 е планирано за 16 април.
Основни промени в Chrome 123:
- На страницата, показвана при отварянето на нов таб, е предложена нова секция, в която се показват линкове от табовете, наскоро отворени на други устройства, свързани с един и същ акаунт в Google.

- Добавена е поддръжка на кодиране на съдържание с помощта на алгоритъм за компресия Zstandard (zstd), в допълнение на преди това поддържаните алгоритми gzip, brotli и deflate.
- Премахната е реализацията на свободния видеокодек Theora, създаден от организацията Xiph.org Foundation на базата на кодека VP3 и поддържан в Firefox и Chrome от 2009 година, но не поддържан в Chrome за Android и в браузърите, базирани на WebKit, като Safari. Като причина за спиране на поддръжката на Theora се посочват опасения, че в реализацията на Theora, в която има достатъчно сложна логика на парсинг на бинарни данни и декодиране на потоци, могат да присъстват уязвимости, подобни на неотдавнашните критични проблеми с кодировчика VP8. Според разработчиците поради увеличените 0-day атаки на медиакодеци, свързани със сигурността, рисковете надвишават нивото на търсене на кодека Theora, който почти не се използва на практика, но остава значителна цел за потенциални атаки.
- Продължава постепенно увеличаване на процента на потребителите, за които е деактивирана поддръжката за трети страни бисквитки, задавани при достъп до сайтове, различни от домейна на текущата страница. Подобни бисквитки се използват за проследяване на движението на потребителя между сайтовете в кода на рекламните мрежи, социалните мрежи и уеб аналитичните системи. Промените са в рамките на инициативата Privacy Sandbox, целяща постигането на компромис между нуждата на потребителите да запазят конфиденциалност и желанието на рекламните мрежи и сайтовете да проследяват предпочитанията на посетителите. Планува се постепенното разширяване на деактивацията на трети страни бисквитки и до 100% в третото тримесечие на 2024 година. За деактивиране, без да се изчакват външните промени, е предвидена настройка «chrome://flags/#test-third-party-cookie-phaseout».
- За малък процент потребители в САЩ е активирана поддръжка на функции, използващи машинно обучение - режим на интелигентна групировка на табовете, генератор на теми и интерактивен помощник, за които бе съобщено в анонса на версия Chrome 121. За системи с централизирано управление на конфигурацията, администраторът може да активира AI инструментите на ниво политики, без да е необходимо да се включва експериментален режим.
- В услугата за синхронизиране на настройки, история и закладки (Chrome Sync) е прекратена поддръжката на версии преди Chrome 82.
- При активиране на разширената защита на браузъра (Safe Browsing > Enhanced protection) е реализирано изпращането на Google на информация за заявки за разширени привилегии от сайтовете (такива страници се проверяват по външна база данни за злонамерено съдържание и при съвпадение на потребителя веднага се показва предупреждение). Също така е включено изпращането на телеметрия за отменени предупреждения от потребителя, показвани преди отварянето на страници, включени в черния списък на Google.
- Google публикува статия с обяснение на методите, използвани за проверка на сигурността на страниците, отваряни от потребителите, спрямо базата данни за злонамерено съдържание, разположена на външен. сървърЗа запазване на конфиденциалността при проверка на отваряните от потребителите URL, на Google се изпращат не пълни хешове на URL, а само префикс с първите 4 байта от хеша. На сървър Този префикс се проверява в базата данни за злонамерени страници и в случай на съвпадение списъкът на съответстващите на префикса пълни хешове се връща в браузъра на потребителя, на чиято страна вече се извършва финална проверка с пълния 32-байтов хеш на URL. За да се избегне свързването на запитването с IP адреса на потребителя, префиксът на хеша първо се изпраща на междинен прокси, който от свое име предава запитването на сървера на системата Safe Browsing.

- Реализирано е извеждане на предупреждения в консолата на инструментите за уеб разработчици при изпращане на запитване от страницата към вътрешната мрежа (192.168.x.x, 10.x.x.x и др.), ако подобни запитвания са изпълнени извън безопасен контекст и не са преминали предварителна проверка. Преди фактическото изпращане на запитването, инициирано от сайта, към ресурса във вътрешната мрежа, браузърът първо ще изпрати предварителен тестов запитване и ще провери дали сървърът е върнал HTTP заглавието „Access-Control-Allow-Private-Network: true“, разрешаващо достъп до интра мрежата. Ако достъпът не е разрешен, това означава опит за нецелево обръщение към вътрешната услуга, което може да е свидетелство за опит за атака чрез браузъра към ресурси в локалната мрежа (например, атакуващият може да вмъкне в iframe запитване към уеб интерфейса на домашния рутер, като „"). В изданието на Chrome 130 предупреждението се планира да бъде заменено с извеждане на грешка и блокиране на запитванията, които не са преминали проверката.
- В Chrome за Android и iOS е добавена възможност за продължаване на прегледа на сайтове, отворени на други устройства, свързани с една и съща Google акаунт.
- В Chrome за Android е променен методът на съхранение на локалните пароли, които не се синхронизирани с други устройства. Преди локалните пароли се съхраняваха в профила на Chrome, а сега ще бъдат прехвърлени в хранилището на пароли, предоставяно от услугите на Google Play, което вече се използва за съхранение на паролата за Google акаунт. В Chrome 123 новият режим на съхранение е активиран за потребителите без локални пароли, а в версия Chrome 124 ще бъде приложен за потребителите с локални пароли.
- Добавен API за статична маршрутизация на ServiceWorker-и (Service Worker Static Routing), който позволява да се изключи изпълнението на JavaScript и прихващането от ServiceWorker-и при заявка на ресурси, които отговарят на зададените условия. С други думи, API позволява да се определи как да се зареждат определени ресурси и да се деактивира извикването на ServiceWorker-а за ресурси, които могат да се извлекат от кеша или да се заредят директно. Като критерии за вземане на решение могат да се използват шаблони на URL, методи на заявка, тип съдържание (документ, вграждане, шрифт, видео и т.н.) и статус на изпълнение („работи“, „не работи“). Например, за изпращане на post-заявка с данни от уеб формата директно, без да се извиква ServiceWorker-а, можете да посочите: addEventListener(‘install’, (event) => { event.addRoutes({ condition: { urlPattern: "\/form\/*", requestMethod: "post" }, source: "network" }); });
- В CSS е добавена функцията light-dark() за адаптиране на цветната схема към настройките за светъл или тъмен режим. В функцията можете да посочите две стойности, които ще бъдат избрани в зависимост от светлия или тъмен режим. Например „background-color: light-dark(lime, green);“.
- Добавен е API Long Animation Frames за диагностика на отзивчивостта на интерфейса на сайта и идентифициране на тясни места при рендериране.
- В медиазапроса «display-mode» е добавена поддръжка на стойността «picture-in-picture», позволяваща създаването на CSS правила, приложими само при показване на уеб приложението в режим «картинка в картинка». @media all and (display-mode: picture-in-picture) { body { margin: 0; } h1 { font-size: 0.8em; } }
- В CSS свойството «align-content» е реализирана функция за работа с блочни контейнери и таблицови клетки. Например «display: block», «display: list-item», «display: table-cell» сега могат да бъдат подравнявани чрез «align-content».
- Добавено е CSS свойство «field-sizing», позволяващо размерът на формените елементи да зависи от съдържанието им, например, за автоматично увеличаване на размера на текстовото поле при въвеждане на данни.
- В интерфейса NavigationActivation на JavaScript добавен параметр navigation.activation, который отражает состояние активации документа (например, можно определить, что документ восстановлен из кэша после нажатия на кнопки навигации «вперёд» или «назад»). Этот параметр может использоваться для настройки содержимого страницы в зависимости от того, откуда пользователь на неё пришёл; к примеру, может показываться другая анимация, если пользователь зашёл с главной страницы.
- Внесени подобрения в инструментите за уеб-разработка.
Освен нововъведения и корекции на грешки, в новата версия са отстранени 12 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са открити критични проблеми, които да позволят заобикаляне на всички нива на собствените защити на браузъра и изпълнение на код в системата извън sandbox-обкръжението. В рамките на програмата за възнаграждение за откритие на уязвимости за текущото издание компанията Google е изплатила 7 награди на стойност 22 хиляди долара (по една награда от $10000, $4000, $3000 и $1000, и две награди от $2000). Размерът на една награда все още не е определен.
Източник: opennet.ru


