Компания Google пусна версия 123 на уеб браузера Chrome. Същевременно е наличен стабилен вариант на свободния проект 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, който почти не се използва на практика, но остава значителна цел за потенциални нападения.
- Продължава постепенното увеличаване на процента на потребителите, за които поддръжката на трети страни Cookie, зададени при достъп до сайтове различни от домейна на текущата страница, е деактивирана. Такива Cookie се използват за проследяване на движенията на потребителите между сайтове в кодовете на рекламни мрежи, социални медии и системи за уеб анализ. Промените напредват в рамките на инициатива Privacy Sandbox, целяща да постигне компромис между нуждата на потребителите да запазят анонимността и желанието на рекламните мрежи и сайтовете да проследяват предпочитанията на посетителите. Планът е деактивирането на трети страни Cookie да бъде постепенно разширено, а до третото тримесечие на 2024 година да достигне 100%. За деактивиране, без да се чака външни промени, е предвидена настройка „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-ите, който позволява да се изключи изпълнението на 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», което позволява размерите на формовите елементи да зависят от съдържанието им, например, автоматично увеличаване на размера на текстово поле при въвеждане на данни.
- В JavaScript интерфейса NavigationActivation е добавен параметър navigation.activation, който отразява състоянието на активация на документа (например, може да се определи, че документът е възстановен от кеша след натискане на бутоните за навигация «напред» или «назад»). Параметърът може да се използва за настройка на съдържанието на страницата в зависимост от това от къде е пристигнал потребителят, например, може да се показва различна анимация, ако потребителят е дошъл от домашната страница.
- Внесени подобрения в инструментите за уеб разработчици.
Освен нововъведенията и корекциите на грешки, в новата версия са отстранени 12 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са установени критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата за пясък. В рамките на програмата за награди за откритие на уязвимости за текущото издание компания Google е изплатила 7 награди на обща стойност 22 хиляди долара (една награда от 10 000 долара, 4 000, 3 000 и 1 000 долара, и две награди от по 2 000 долара). Размерът на едната награда все още не е определен.
Източник: opennet.ru


