Компания Google публикува новата версия на уеб браузъра Chrome 119. Също така е наличен стабилен релиз на свободния проект Chromium, който служи като основа за Chrome. Браузерът Chrome се отличава от Chromium с използването на логотипите на Google, наличието на система за уведомяване при срив, модули за възпроизвеждане на защитено съдържание (DRM), автоматична инсталация на актуализации, постоянно включена изолация Sandbox, предоставяне на ключове за API на Google и предаване на RLZ параметри при търсене. За потребителите, които имат нужда от повече време за актуализация, отделно се поддържа версията Extended Stable, която има 8 седмици поддръжка. Следващият релиз на Chrome 120 е планиран за 5 декември.
Основни промени в Chrome 119:
- Скратен е цикълът за създаване на релизи, в който времето между генерирането на новата версия и началото на бета тестването е намалено — бета версията сега се формира два дни след създаването на версията, а не след 8 дни. Стабилизацията на бета версията, както и преди, се осъществява в рамките на 4 седмици. По този начин цикълът за подготовка на новите версии е съкратен с една седмица.
- Добавена е възможност за запазване на групи от табове. Потребителят вече може да запази група и да затвори включените в нея табове, за да не заемат ресурси. По-късно, в случай на необходимост, табовете от запазената група могат да бъдат възстановени, както и отворени на други устройства, които участват в синхронизацията на табовете. Възможността е активирана за част от потребителите, а за принудително активиране е предвидена настройка „chrome://flags/#tab-groups-save“.
- В интерфейса са променени формулировките на операциите и настройките, свързани с изтриването и загубата на данни. Вместо термина „очистка“ (Clear) в подобни операции сега се прилага думата „изтриване“ (Delete), тъй като термина „очистка“ не бе възприеман от част от потребителите като признак за безвъзвратна загуба на данни.
- При автодовършване на URL сега се вземат предвид всякакви ключови думи, използвани преди за търсене на сайта, а не само думите, които съвпадат с началото на адреса. Например, автодовършването на адреса „https://www.google.com/travel/flights“ ще сработи не само при въвеждане на думата „google“, но и при въвеждане на „flights“.

- Реализирано автоматично коригиране на грешки при въвеждане на адреса на сайта и осигурен изход на релевантни подсказки, при формирането на които се вземат предвид сайтове, които преди това е отворил текущият потребител. Например, при въвеждане на „youutube“ ще бъде предложено отварянето на YouTube.com.

- Предоставена е възможност за търсене в разделите на отметките чрез адресната лента. Например, може да се добави името на раздела на отметките и Chrome ще предложи линкове от този раздел, които съответстват на въведеното ключово слово. Например, при въвеждане на „пътувания 2023 Ню“ ще бъдат предложени линкове от раздела на отметките „пътувания 2023“, свързани с Ню Йорк.

- Реализиран е изход на препоръки за популярни сайтове, дори ако потребителят преди това не е посещавал тях или е направил грешка при въвеждане на URL. Например, когато следвайки нечия препоръка да отвори Google Earth, потребителят започне да въвежда „googleear“, не знаейки точния адрес, браузърът ще предложи преминаване към сайта earth.google.com.

- В Chrome за настолни системи е подобрена четимостта на информацията в адресната лента и е повишена отзивчивостта на интерфейса - резултатите вече се показват веднага след началото на въвеждане в адресната лента.
- В съответствие със измененията в спецификацията на API Fetch, осигурено е премахване на HTTP-заглавието Authorization при пренасочване към друг домейн (cross origin).
- В настройките за уведомления и определяне на местоположение е добавена опция за включване на услугата за автоматично потискане на запитвания за потвърждаване на правомощия (Permission Suggestions Service). Предложени са режими за избор:
- винаги да се показват запитвания за получаване на правомощия за изход на уведомления и достъп до местоположение;
- автоматично да се игнорират спам запитванията за правомощия, използвайки механизма Permission Suggestions Service;
- винаги да се игнорират всички запитвания за изход на уведомления;
- винаги да се блокират всички запитвания за получаване на правомощия за изход на уведомления и достъп до местоположение.
- В сборките за платформата Android, при включване на стандартната защита на браузъра (Safe Browsing > Standard protection) в реално време се извършва проверка за безопасност на отворените URL адреси, извършена на основание предаване на сървъри Google частични хешове на отваряните от потребителя URL адреси. За да се изключи съпоставянето IP адреси потребителите и хешът, данните се предават чрез междинен прокси. По-рано проверката се извършваше чрез качване на локална копия на списъка с небезопасни URL адреси в системата на потребителя. Новата схема позволява по-бързо блокиране на злонамерени URL адреси. За десктоп системи подобен режим беше включен в предишното издание.
- Екранването на неидентификационни символи в името на хоста при извикване на функцията URL е приведено в съответствие с актуализираната спецификация. Например, извикването на функцията 'URL("http://exa(mple.com;")' преди връщаше 'http://example.com/', а сега ще доведе до извеждане на грешка "Невалиден URL".

- На всички преди запазени Cookie е наложено ограничение във времето на живот, аналогично на това, което се прилага от версия Chrome 104 за нови и актуализирани Cookie. За съществуващите Cookie времето на живот ще бъде съкратено до 400 дни от публикацията на версия Chrome 119.
- В CSS са предложени нови псевдокласове «:user-valid» и «:user-invalid», които представляват формени елементи, чиито стойности са преминали или не преминали проверката. За разлика от «:valid» и «:invalid», новите псевдокласове сработват само след взаимодействие на потребителя с формения елемент.
- При задаване на цветове в CSS е разрешено определянето на стойности, изчислени спрямо други цветови параметри. Например, при указване на «oklab(from magenta calc(l * 0.8) a b)» ще бъде получен цвят, който е 80% по-светъл от пурпурния.
- В CSS свойството clip-path, което позволява ограничаване на видимостта на елемента до определена област, е добавена поддръжка на стойността за задаване на произволна област за изрязване. Също така е предоставена възможност за използване на функциите xywh() и rect() за опростяване на задаването на правоъгълни или закръглени области.
- Поддръжката на API WebSQL е деактивирана, вместо което се препоръчва използването на API Web Storage и Indexed Database. Обработчикът WebSQL е основан на кода на библиотеката SQLite. API WebSQL не се поддържаше от други браузъри, обвързваше се с API на външна библиотека и увеличаваше рисковете от проблеми със сигурността (WebSQL можеше да бъде използван от злонамерени лица за експлоатация на уязвимости в SQLite). За възстановяване на поддръжката на WebSQL за корпоративни потребители е оставена политиката WebSQLAccess, която ще бъде премахната в Chrome 123.
- Временно премахнат API HTML Sanitizer, който позволява премахване на елементи от съдържанието, които влияят на визуализацията и изпълнението при извеждане чрез метода setHTML(). API-то беше разработено за премахване на HTML тагове, които могат да се използват за извършване на XSS атаки. Като причина за премахването се посочва несвършеността на спецификацията, която от момента на добавянето на Sanitizer в Chrome значително се е променила. След завършването на спецификацията, API-то ще бъде възстановено.
- Премахнат е нестандартният атрибут shadowRoot, позволяващ на собствени елементи да достъпват своя отделен корен в Shadow DOM, независимо от състоянието. Вместо shadowRoot в Chrome 111 е предложен атрибутът shadowRootMode, който влиза в уеб стандарта.
- Подобрена е реализацията на HTML елемента '', който напомня на 'iframe' и също така позволява вграждането на външно съдържание на страницата. Разликите се свеждат до ограничаване на взаимодействието между вграденото съдържание и съдържанието на страницата на ниво DOM и атрибути. Например, страницата news.example, в която с помощта на fencedframe е вграден блок с реклама, зареждана от сайта shoes.example, не може да получи достъп до данните на shoes.example, а обратно, кодът от сайта shoes.example не може да получи данни, свързани с news.example. В новата версия е добавена поддръжка на нововъведените в API Protected Audience макроси за замяна на размера на рекламния блок, например, 'https://ad.com?width={/_WIDTH%}&height={/_HEIGHT%}'.
- В метода getDisplayMedia() е добавен параметър monitorTypeSurfaces, който може да се използва за забрана на предоставянето на достъп до целия екран.
- В метода window.open() е добавен експериментален (origin trial) параметър fullscreen, който позволява отварянето на прозорец в режим на цял екран.
- В API AudioEncoderConfig е добавен флаг „bitrateMode“ за избор между постоянен (constant) и променлив (variable) битрейт.
- В TLS е реализирана механизма за капсулиране на ключове (KEM, Key Encapsulation Mechanism), използващ хибридния алгоритъм X25519Kyber768, устойчив на атаки от квантови компютри. За създаването на сесийни ключове, използвани за криптиране на данни в TLS свързаностите, сега може да се приложи комбинация от механизма за обмен на ключове X25519, основан на елиптични криви и вече използван в TLS, с алгоритъма Kyber-768, който използва методи на криптография, базирани на решаването на проблеми от теорията на решетките, време за разрешаване на които не се различава на обикновени и квантови компютри.
- По подразбиране е активирана поддръжка на разширението WasmGC, улесняващо портироването на софтуер за WebAssembly, написан на езици за програмиране, използващи събиране на боклука (Kotlin, PHP, Java и др.). WasmGC добавя нови типове структури и масиви, за които може да се прилага нелинейно разпределение на паметта.
- Направени са подобрения в инструментите за уеб разработки. Добавена е възможност за редактиране на CSS правила «@property» и извеждане на предупреждения при тяхното неправилно дефиниране. Обновен е списъкът с емулирани устройства (например добавени са iPhone 14 и Pixel 7). В уеб конзолата е реализирано автоматично допълване на частни полета. Осигурено е форматиране на JSON данни, разположени в блокове

В допълнение към нововъведенията и отстраняването на грешки в новата версия са премахнати 15 уязвимости. Много от уязвимостите са открити чрез автоматизирано тестване с инструменти AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са открити критични проблеми, които да позволят нападение върху всички нива на защита на браузъра и изпълнение на код в системата извън средата на пясъчника. В рамките на програмата за финансови награди за откритие на уязвимости за текущото издание компанията Google е изплатила 13 награди на стойност 40.5 хиляди долара (една награда от $16000, $11000, $2000 и $500, три награди от $3000 и две награди от $1000). Размерът на 4 награди остава неопределен.
Източник: opennet.ru






