Společnost Google představila vydání webového prohlížeče Chrome 97. Současně je k dispozici stabilní verze otevřeného projektu Chromium, který tvoří základ Chrome. Prohlížeč Chrome se vyznačuje používáním loga Google, systémem zasílání upozornění v případě havárie, moduly pro přehrávání chráněného videa (DRM), systémem automatických aktualizací a přenosem RLZ parametrů při vyhledávání. Pro ty, kdo potřebují více času na aktualizaci, je podporována samostatná větev Extended Stable, která je udržována po dobu 8 týdnů, přičemž pro minulou verzi Chrome 96 bylo vytvořeno aktualizaci. Další vydání Chrome 98 je naplánováno na 1. února.
Hlavní změny v Chrome 97:
- U části uživatelů je v konfigurátoru využit nový uživatelský interface pro správu dat uchovávaných v prohlížeči ("chrome://settings/content/all"). Klíčovým rozdílem nového rozhraní je orientace na nastavení oprávnění a jednorázové vymazání všech Cookie pro konkrétní web bez možnosti prohlédnout si podrobné informace o jednotlivých Cookie a výběrového odstranění Cookie. Podle názoru Google přístup ke správě jednotlivých Cookie pro běžného uživatele, který se nevyzná v nuancích webového vývoje, může vést k nepředvídatelným poruchám na webových stránkách v důsledku nevhodného měnění jednotlivých parametrů, jakož i k náhodnému vypnutí mechanismů ochrany soukromí aktivovaných přes Cookie. Pro ty, kdo potřebují manipulovat s jednotlivými Cookie, se doporučuje použít sekci správy úložiště v nástrojích pro vývojáře webu (Application/Storage/Cookie).

- V bloku s informacemi o webu je implementován výstup krátkého popisu webu (například popis z Wikipedie), pokud je v nastavení aktivován režim optimalizace vyhledávání a navigace (možnost „Zlepšit vyhledávání a procházení“).

- Byla vylepšena podpora automatického vyplňování polí ve webových formulářích. Doporučení s variantami automatického vyplnění se nyní zobrazují s malým zpožděním a jsou opatřena informačními ikonami pro pohodlnější náhled a přehlednější určení vztahu s vyplňovaným polem. Například ikona profilu naznačuje, že navrhované automatické vyplnění se týká polí spojených s adresou a kontaktními informacemi.

- Bylo zajištěno odstranění z paměti zpracovatelů uživatelských profilů po zavření souvisejících oken prohlížeče. Dříve profily zůstávaly v paměti a pokračovaly v provádění úkolů spojených se synchronizací a prováděním pozadí skriptů doplňků, což vedlo k neodůvodněné spotřebě zdrojů na systémech, kde se současně používá více profilů (například hostitelský profil a vazba na účet Google). Dále byla zajištěna důkladnější údržba dat, která zůstávají během práce s profilem.
- Byla vylepšena stránka nastavení vyhledávačů („Nastavení> Spravovat vyhledávače“). Byla deaktivována automatická aktivace vyhledávačů, jejichž informace se zobrazují při otevření stránky pomocí skriptu OpenSearch - nové vyhledávače pro zpracování vyhledávacích dotazů z adresního řádku je nyní nutné aktivovat v nastavení ručně (dříve automaticky aktivované vyhledávače budou pokračovat v činnosti beze změn).
- Od 17. ledna přestanou být do katalogu Chrome Web Store přijímány doplňky používající druhou verzi manifestu Chrome, ale vývojáři dříve přidaných doplňků budou i nadále moci publikovat aktualizace.
- Byla přidána experimentální podpora specifikace WebTransport, která definuje protokol a přidružené JavaScript API pro odesílání a přijímání dat mezi prohlížečem a serverem. Komunikační kanál je organizován nad HTTP/3 s použitím protokolu QUIC jako transportního protokolu. WebTransport může být použit místo mechanismu WebSockets, nabízí další možnosti, jako je organizace přenosu ve více vláknech, jednosměrné toky, dodávka bez ohledu na pořadí odesílání paketů (out-of-order), spolehlivé a nespolehlivé režimy dodávky. Kromě toho může být WebTransport použit místo mechanismu Server Push, od jehož používání v Chromu se vzdala společnost Google.
- Do objektů JavaScriptu Array a TypedArrays byly přidány metody findLast a findLastIndex, které umožňují hledat prvky s výstupem výsledku vzhledem k konci pole. [1,2,3,4].findLast((el) => el % 2 === 0) // → 4 (poslední sudý prvek)
- Uzavřené (bez atributu „open“) HTML prvky <details> jsou nyní dostupné pro vyhledávání a odkazy a automaticky se rozbalí při použití vyhledávání na stránce a navigaci po fragmentech (ScrollToTextFragment).
- Omezení Content Security Policy (CSP) v odpovědních hlavičkách serveru se nyní vztahují i na dedikované worker-y, které byly dříve považovány za samostatné dokumenty.
- Byl zajištěn explicitní požadavek na povolení načítání jakýchkoliv subzdrojů z vnitřní sítě — při přístupu k vnitřní síti nebo localhost na serveru hlavního webu se nyní odesílá CORS (Cross-Origin Resource Sharing) požadavek s hlavičkou „Access-Control-Request-Private-Network: true“, vyžadující potvrzení operace prostřednictvím návratu hlavičky „Access-Control-Allow-Private-Network: true“.
- Bylo přidáno CSS vlastnost font-synthesis, které umožňuje řídit možnost syntézy chybějících stylů písma (oblique, bold a small-cap), které chybí ve vybrané rodině písem.
- Pro CSS transformace byla do funkce perspective() přidána možnost ‚none‘, která je zpracována jako nekonečná hodnota při organizaci animace.
- Do HTTP hlavičky Permissions-Policy (Feature Policy), která se používá pro delegaci oprávnění a aktivaci rozšířených funkcí, byla přidána podpora hodnoty keyboard-map, která umožňuje použití API Keyboard. Byl implementován metod Keyboard.getLayoutMap(), který umožňuje zjistit, která klávesa byla stisknuta s ohledem na různé rozložení klávesnice (například stisknutá klávesa při ruském nebo anglickém rozložení).
- Byla přidána metoda HTMLScriptElement.supports(), která sjednocuje určení nových možností dostupných v elementu „script“, například je možné zjistit seznam podporovaných hodnot pro atribut „type“.
- Proces normalizace nových řádků při odesílání webových formulářů byl sladěn s prohlížečovými enginy Gecko a WebKit. Normalizace znaků pro přenos řádků a návrat kurzoru (nahrazení a na \r\n) v Chrome se nyní provádí v konečné fázi, nikoli na začátku zpracování odeslání formuláře (tj. mezičlánkové zpracovatele, které používají objekt FormData, uvidí data tak, jak je přidal uživatel, nikoli v normalizované podobě).
- Bylo standardizováno pojmenování vlastností pro API Client Hints, které se vyvíjí jako náhrada za hlavičku User-Agent a umožňuje selektivně poskytovat údaje o konkrétních parametrech prohlížeče a systému (verze, platforma atd.) pouze na základě žádosti serveru. Vlastnosti jsou nyní určeny s předponou „sec-ch-“, například sec-ch-dpr, sec-ch-width, sec-ch-viewport-width, sec-ch-device-memory, sec-ch-rtt, sec-ch-downlink a sec-ch-ect.
- Byla aplikována druhá fáze ukončení podpory API WebSQL, jehož použití ve skriptech třetích stran bude nyní blokováno. V budoucnu se plánuje postupné úplné ukončení podpory WebSQL, bez ohledu na kontext použití. Zpracovatel WebSQL je založen na kódu SQLite a mohl být zneužit útočníky k exploataci zranitelností v SQLite.
- Pro platformu Windows byla zahrnuta sestava s kontrolami integrity toku provádění (CFG, Control Flow Guard), které blokují pokusy o vložení kódu do procesu Chrome. Dále se nyní na síťové služby, které běží v samostatných procesech, vztahuje sandboxová izolace, která omezuje schopnosti kódu v těchto procesech.
- V Chrome pro Android byl aktivován mechanismus dynamického aktualizace logu vydaných a odvolaných certifikatů (Certificate Transparency), který byl dříve aktivován ve verzích pro desktopové systémy.
- Byla vylepšena nástroje pro webové vývojáře. Byla zavedena experimentální podpora synchronizace nastavení DevTools mezi různými zařízeními. Přidána nová panel Recorder, pomocí které lze zaznamenávat, přehrávat a analyzovat akce uživatele na stránce.

Při výstupu chyb v webové konzoli je nyní zajištěno zobrazení souvisejících čísel sloupců, což je užitečné pro ladění problémů v minifikovaném JavaScriptovém kódu. Byla aktualizována seznam zařízení, která lze simulovat pro posouzení zobrazení stránky na mobilních zařízeních. V rozhraní pro úpravu HTML bloků (Edit as HTML) byla přidána syntax highlight a možnost automatického doplňování vstupu.

Kromě novinek a oprav v nové verzi bylo odstraněno 37 zranitelností. Mnoho z těchto zranitelností bylo odhaleno pomocí automatizovaného testování nástroji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Jedna z zranitelností byla označena jako kritický problém, který umožňuje obejít všechny úrovně ochrany prohlížeče a vykonat kód v systému, mimo sandboxové prostředí. Podrobnosti o kritické zranitelnosti (CVE-2022-0096) zatím nebyly zveřejněny, je známo pouze to, že se týká přístupu k již uvolněné oblasti paměti v kódu pro práci s interními úložišti (API Storage).
V rámci programu vyplácení finančních odměn za nalezení zranitelností pro aktuální verzi společnosti Google bylo vyplaceno 24 odměn v celkové výši 54 tisíc dolarů (tři odměny 10 000 $, dvě odměny 5 000 $, jedna odměna 4 000 $, tři odměny 3 000 $ a jedna odměna 1 000 $). Výše 14 odměn zatím nebyla určena.
Zdroj: opennet.ru





