A Google bemutatta a Chrome 105 web böngésző kiadását. Egyidejűleg elérhető a Chromium szabad projekt stabil kiadása is, amely a Chrome alapjául szolgál. A Chrome böngésző eltér a Chromiumtól azzal, hogy használja a Google logókat, értesítési rendszert biztosít a váratlan leállások esetére, DRM-védett videótartalom lejátszására alkalmas modulokkal rendelkezik, automatikus frissítéseket alkalmaz, folyamatosan bekapcsolt SandBox izolációt alkalmaz, hozzáférést biztosít a Google API kulcsokhoz, és RLZ-paramétereket továbbít a keresés során. Azok számára, akiknek több időre van szükségük a frissítésekhez, külön támogatott az Extended Stable ág, amely 8 hétig tart. A következő Chrome 106 kiadására szeptember 27-én kerül sor.
A Chrome 105 főbb változásai:
- Megszűnt a Chrome Apps szakosodott webalkalmazások támogatása, amelyeket a Progressive Web Apps (PWA) technológia és a szabványos Web API-któl független webalkalmazások váltanak fel. A Google eredetileg 2016-ban bejelentette, hogy felhagy a Chrome Apps használatával, és 2018-ra tervezte a támogatásuk leállítását, de ezt a tervet később elhalasztotta. A Chrome 105-ös verzióban a Chrome Apps telepítési kísérletekor figyelmeztető üzenet jelenik meg a támogatás megszüntetéséről, de maguk az alkalmazások továbbra is elindíthatók lesznek. A Chrome 109-es verzióban a Chrome Apps futtatásának lehetősége le lesz tiltva.
- További izolációs védelmet biztosít a „renderer” folyamathoz, amely a megjelenítésért felelős. Ez a folyamat most egy további konténerben (App Container) fut, amely a meglévő sandBox izolációs rendszer fölött valósul meg. Ha sebezhetőséget használnak ki a megjelenítő kódjában, az új korlátozások megakadályozzák, hogy a támadó hozzáférjen a hálózathoz, mivel megtiltják a hálózati lehetőségekkel kapcsolatos rendszerhívások elérését.
- Bevezetésre került a saját egységesített gyökértanúsítványtár (Chrome Root Store) a hitelesítő központok számára. Az új tároló egyelőre nem aktív alapértelmezés szerint, és a bevezetés befejezéséig a tanúsítványok továbbra is az operációs rendszerhez specifikus tárolót használják az ellenőrzéshez. A tesztelt megoldás hasonlít a Mozilla által alkalmazott megközelítéshez, amely egy különálló független gyökértanúsítványtárat támogat a Firefox számára, amely az első láncszemként funkcionál a tanúsítványok bizalomlellenőrzési láncának ellenőrzése során HTTPS webhelyek megnyitásakor.
- Megkezdődött a Web SQL API támogatásának megszüntetésének előkészítése, amely nem szabványosított, szinte nem használt, és áttervezést igényel a modern biztonsági követelményeknek való megfelelés érdekében. A Chrome 105-ös verziójában tilos a Web SQL-hez való hozzáférés az HTTPS használata nélkül betöltött kódokból, és figyelmeztetés jelenik meg a DevTools-ban a technológia elavultságáról. 2023-ban tervezik a Web SQL API törlését. Azok számára, akiknek szükségük van hasonló funkcionalitásra, WebAssembly alapú alternatíva készül.
- A Chrome szinkronizálásában megszűnt a Chrome 73 és korábbi verziók támogatása.
- A macOS és Windows platformokra aktiválták a beépített tanúsítvány-ellenőrzőt, amely helyettesíti az operációs rendszer által biztosított felület hívását. Korábban a beépített ellenőrző csak a Linux és ChromeOS verziókban volt használatban.
- Az Android platformra készült verzióhoz beállításokat adtak hozzá a Privacy Sandbox kezdeményezés keretében népszerűsített "Topics & Interest Group" API kezelésére, amely lehetővé teszi a felhasználó érdeklődési kategóriáinak meghatározását és azok nyomkövető Cookie-k helyett történő felhasználását olyan felhasználói csoportok azonosítására, akik hasonló érdeklődéssel bírnak anélkül, hogy az egyes felhasználók azonosítva lennének. Az előző verzióban hasonló beállításokat adtak hozzá a Linux, ChromeOS, macOS és Windows verziókhoz.
- A böngésző kiterjesztett védelme (Safe Browsing > Enhanced protection) bekapcsolásakor megvalósították a telemetria gyűjtését az installált kiegészítőkről, az API-khoz való hozzáférésről és a külső webhelyekkel való kapcsolatokról. Az említett adatokat a Google szerverein használják a rosszindulatú tevékenységek és a böngésző-kiegészítőkkel kapcsolatos szabálysértések azonosítására.
- A nem-ASCII karakterek használata a Cookie fejlécekben megjelenített domainekben elavult kategóriába került, és a Chrome 106-os verzióban blokkolva lesz (az IDN domainek esetén a domaineket punycode formátumban kell megadni). A változtatás a böngészőt a RFC 6265bis követelményeivel és a Firefoxban megvalósított viselkedéssel összhangba hozza.
- Javascripttel készült Custom Highlight API, amely lehetővé teszi a szövegrészek kiemelésének stílusának tetszőleges módosítását, így nem kell korlátozódni a böngésző által biztosított, előre meghatározott kiemelési stílusokra (::selection, ::inactive-selection) és a szintaktikai hibák kiemelésére (::spelling-error, ::grammar-error). Az API első verziója támogatja a szöveg és háttér színének módosítását a color és background-color pszeudoelemek segítségével, de a jövőben további stílusbeállítási lehetőségek is hozzáadásra kerülnek.
A januárban bevezetett API egyik példaként említi, hogy webes keretrendszerekhez, amelyek szöveg szerkesztő eszközöket kínálnak, saját szövegkiemelési mechanizmusok, különböző kiemelések létrehozása több felhasználó egyidejű szerkesztésekor, valamint keresés virtualizált dokumentumokban és helyesírás-ellenőrzés során szintén hibák megjelölése is implementálható. Korábban a nem szabványos kiemelés létrehozásához bonyolult manipulációkra volt szükség a DOM fában, míg a Custom Highlight API készen álló műveleteket kínál a kiemelések hozzáadására és eltávolítására, amelyek nem befolyásolják a DOM struktúráját, és az Range objektumokhoz kötődő stílusokat alkalmaznak.
- A CSS-be bevezetésre került a „@container” lekérdezés, amely lehetővé teszi az elemek stílusának megformálását a szülőelem méretétől függően. A „@container” hasonlít a „@media” lekérdezésekhez, de nem az egész látható terület méretéhez, hanem annak a blokkíró elemnek a méretéhez kötődik, amelybe az elem elhelyezkedik, lehetővé téve ezzel a gyermekelemek számára saját stílusválasztási logika alkalmazását, függetlenül attól, hogy az elem pontosan hol helyezkedik el az oldalon.

- Hozzáadva a CSS pszeudoklassz „:has()” a szülőelemen belüli alárendelt elem létezésének ellenőrzésére. Például, „p:has(span)” lefedi az elemeket <p>, amelyek belsejében van egy elem <span>.
- Bevezetésre került a HTML Sanitizer API, amely lehetővé teszi az elemek eltávolítását a tartalomból, amelyek befolyásolják a megjelenítést és a végrehajtást a setHTML() metódus használatakor. Az API hasznos lehet a beérkező adatok tisztításához, hogy eltávolítsa azokat a HTML tageket, amelyek XSS támadások végrehajtására használhatóak.
- Lehetővé vált az API Streams (ReadableStream) használata a fetch kérdések küldésére, mielőtt a válasz törzse betöltődik, tehát elkezdhető az adatok küldése anélkül, hogy meg kellene várni a lap generálásának befejezését.
- Az telepített elkülönített webalkalmazások (PWA, Progressive Web App) számára lehetőséget biztosítanak az ablak fejlécének megjelenésének megváltoztatására a Window Controls Overlay komponensek segítségével, amelyek kibővítik a webalkalmazás képernyőjét az egész ablakra, és lehetővé teszik, hogy a webalkalmazás a szokásos asztali alkalmazások kinézetét kapja. A webalkalmazás képes kezelni a rajzolást és a bemeneti események feldolgozását az egész ablakban, kivéve a szokásos ablakvezérlő gombok (bezárás, minimalizálás, maximalizálás) fedett területét.

- Stabilizálták a Media Source Extensions elérhetőségét a dedikált worker-ökből (DedicatedWorker kontextusban), amely például a médiadöntött adatok pufferelt lejátszásának teljesítményének növelésére használható, a MediaSource objektum létrehozásával egy külön worker-ben és a munkájának eredményeinek továbbításával a HTMLMediaElement-be a fő szálon.
- Az API Client Hints, amely a User-Agent fejléc cseréjére fejlődik, és lehetővé teszi, hogy szelektíven szolgáltassunk adatokat a böngésző és a rendszer konkrét paramétereiről (verzió, platform stb.) csak kérés esetén, szerverrel, támogató tulajdonságot kapott a Sec-CH-Viewport-Heigh, amely lehetővé teszi a látható terület magasságának megismerését. Megváltozott a tag-ben található Client Hints paraméterek megadásának formátuma külső forrásokhoz: Volt: Lett:
- Lehetővé vált globális onbeforeinput eseménykezelők létrehozása (document.documentElement.onbeforeinput), amelyek segítségével a webalkalmazások felülírhatják a szöveg szerkesztésének viselkedését ,
- Bővült az API Navigation funkciói, amely lehetővé teszi a webalkalmazások számára a navigációs műveletek megfogását az ablakban, a átmenetek kezdeményezését és az alkalmazással kapcsolatos műveletek történetének elemzését. Új intercept() és scroll() módszerek lettek hozzáadva a kapcsolatok megfogásához és a megadott helyre való görgetéshez.
- Hozzáadódott egy statikus Response.json() módszer, amely lehetővé teszi a válasz testének JSON típusú adatok alapján történő létrehozását.
- Javítások kerültek bevezetésre a webfejlesztők eszközeiben. A hibakeresőben a töréspont aktiválásakor lehetőség nyílik a függvények veremének felső részén való szerkesztésre a hibakeresési session megszakítása nélkül. A Recorder panelen, amely lehetővé teszi a felhasználói interakciók rögzítését, lejátszását és elemzését az oldalon, támogatást kapott a töréspontok, lépésről lépésre történő lejátszás és az egérmutató események rögzítése.
A teljesítmény-elemző panelhez hozzáadták az LCP (Largest Contentful Paint) metrikákat, amelyek a felhasználók számára látható nagy elemek (mint például képek, videók és blokkelemek) renderelésekor fellépő késedelmek kiszűrésére szolgálnak. Az Elek ment panelen különböző ikonnal jelölték a más tartalom fölé kiemelt felső rétegeket. A WebAssembly számára lehetőség nyílik a hibakeresési adatok DWARF formátumban történő betöltésére.
Az új verzióban a fejlesztések és hibajavítások mellett 24 sebezhetőséget is megszüntettek. A sebezhetőségek többségét automatizált tesztelési eszközök, mint például AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer és AFL segítségével azonosították. Kritikus problémák, amelyek lehetővé tennék a böngésző összes védelmi szintjének megkerülését és kód futtatását a rendszerben a sandbox környezeten kívül, nem kerültek felfedezésre. A sérülékenységek felfedezéséért járó jutalmazási program keretében a Google 21 prémiumot fizetett ki ennek a kiadásnak a keretében összesen 60,500 dollár értékben (egy prémium 10,000 dollár, egy prémium 9,000 dollár, egy prémium 7,500 dollár, egy prémium 7,000 dollár, két prémium 5,000 dollár, négy prémium 3,000 dollár, két prémium 2,000 dollár, és egy prémium 1,000 dollár). A hét prémium összegét még nem határozták meg.
Forrás: opennet.ru


