Podjetje Google je predstavilo izdajo spletnega brskalnika Chrome 104. Hkrati je na voljo stabilna različica prostega projekta Chromium, ki je osnova za Chrome. Brskalnik Chrome se razlikuje od Chromiuma po uporabi logotipov podjetja Google, sistemu za pošiljanje obvestil v primeru zrušitve, modulih za predvajanje zaščitenega videoposnetka (DRM), sistemu samodejne namestitve posodobitev, stalni vključenosti Sandbox izolacije, dobavi ključev do Google API in prenosu RLZ-parametrov pri iskanju. Za tiste, ki potrebujejo več časa za posodobitev, se posebej podpira veja Extended Stable, ki jo spremljajo 8 tednov. Naslednja izdaja Chrome 105 je načrtovana za 30. avgust.
Glavne spremembe v Chrome 104:
- Uvedena je omejitev trajanja piškotkov — vsi novi ali posodobljeni piškotki se bodo samodejno izbrisali po 400 dneh trajanja, tudi če je prek atributov Expires in Max-Age nastavljeno časovno obdobje poteka, ki presega 400 dni (za takšne piškotke bo življenjska doba skrajšana na 400 dni). Tisti piškotki, ustvarjeni pred uvedbo omejitve, bodo ohranili svojo življenjsko dobo, tudi če presega 400 dni, vendar bodo omejeni v primeru posodobitve. Sprememba odraža nove zahteve, navedene v osnutku nove specifikacije.
- Vključena je blokada dostopa iz iframe-ov do URL-jev, ki se nanašajo na lokalni datotečni sistem ("filesystem://").
- Za pospešitev nalaganja strani je bila dodana nova optimizacija, ki zagotavlja vzpostavitev povezave s ciljnim gostiteljem ob pritisku na povezavo, ne da bi čakali na sprostitev gumba ali odstranitev prsta s zaslona na dotik.
- Dodane so nastavitve za upravljanje z API-jem "Topics & Interest Group", ki se promovira v okviru pobude Privacy Sandbox in omogoča določitev kategorij zanimanj uporabnika ter njihovo uporabo namesto sledenja piškotkom za opredelitev skupin uporabnikov s podobnimi interesi, brez identifikacije posameznih uporabnikov. Poleg tega so dodani enkratni informativni dialogi, ki uporabniku pojasnjujejo bistvo tehnologije in ponujajo aktiviranje podpore v nastavitvah.
- Povečane so mejne vrednosti za omejevanje gnezdenih klicev timerjev setTimeout in setInterval, ki se zaženejo z intervalom manj kot 4 ms ("setTimeout(…, <4ms)"). Skupna meja za take klice je bila povečana s 5 na 100, kar omogoča, da se posamezni klici ne zmanjšujejo agresivno, a hkrati preprečuje zlorabe, ki bi lahko vplivale na učinkovitost brskalnika.
- Omogočeno je pošiljanje na strežnik glavnega spletnega mesta zahteve za potrditev pooblastil CORS (Cross-Origin Resource Sharing) z glavo "Access-Control-Request-Private-Network: true", v primeru dostopa s strani do podresursa v notranjem omrežju (192.168.x.x, 10.x.x.x, 172.16-31.x.x) ali do localhosta (127.x.x.x). Ko server potrdi operacijo v odgovoru na to zahtevo, mora vrniti glavo "Access-Control-Allow-Private-Network: true". V različici Chrome 104 rezultat potrditve zaenkrat ne vpliva na obdelavo zahteve — v primeru, da potrditev ni prisotna, se v spletni konzoli prikaže opozorilo, vendar sama zahteva podresursa ni blokirana. Vključitev blokade v primeru pomanjkanja potrditve strežnika se pričakuje ne prej kot v izdaji Chrome 107. Za vključitev blokade v zgodnejših različicah lahko aktivirate nastavitev "chrome://flags/#private-network-access-respect-preflight-results".
Potrditev pooblastil serverom je uvedena za okrepitev zaščite pred napadi, povezanimi z dostopom do virov v lokalnem omrežju ali na računalniku uporabnika (localhost) iz skript, ki se nalagajo ob odpiranju spletnega mesta. Takšne zahteve se izkoriščajo s strani napadalcev za izvajanje CSRF napadov na usmerjevalnike, dostopne točke, tiskalnike, korporativne spletne vmesnike in druge naprave ter storitve, ki sprejemajo zahteve le iz lokalnega omrežja. Za zaščito pred takšnimi napadi bo brskalnik v primeru dostopa do vseh podresursov v notranjem omrežju poslal eksplicitno zahtevo za pooblastilo za nalaganje teh podresursov.
- Dodana je bila funkcionalnost Region Capture, ki omogoča obrezovanje odvečnih vsebin iz videa, ki se generira na podlagi zajema zaslona. Na primer, z uporabo API-ja getDisplayMedia lahko spletna aplikacija organizira prenos videa z vsebino zavihka, Region Capture pa omogoča izrezovanje dela vsebine, ki vključuje elemente upravljanja videokonference.
- Dodana je podpora za nov sintaksis medijskih poizvedb, določen v specifikaciji Media Queries Level 4, ki opredeljuje minimalno in maksimalno velikost vidnega območja (viewport). Nov sintaksis omogoča uporabo običajnih matematičnih in logičnih operatorjev, kot so 'not', 'or' in 'and'. Na primer, namesto '@media (min-width: 400px) { … }' zdaj lahko navedemo '@media (width >= 400px) { … }'.
- V načinu Origin Trials (eksperimentalne možnosti, ki zahtevajo ločeno aktivacijo) so dodani nekateri novi API-ji. Origin Trial pomeni možnost dela z določenim API-jem iz aplikacij, naloženih z localhost ali 127.0.0.1, ali po registraciji in pridobitvi posebnega žetona, ki deluje omejen čas za določeno spletno mesto.
- Dodana je CSS lastnost 'focusgroup' za izboljšanje navigacije med elementi z uporabo puščičnih tipk na tipkovnici.
- V API-ju Secure Payment Confirmation je omogočena možnost, da uporabnik onemogoči shranjevanje podatkov o kreditnih karticah. Za prikaz dialoga, ki omogoča zavrnitev shranjevanja podatkov o kreditnih karticah, je v konstruktorju PaymentRequest() predvidena zastavica 'showOptOut: true'.
- Dodana je API Shared Element Transitions, ki omogoča gladek prehod med različnimi prikazi vsebine v enostranskih web aplikacijah.
- Stabilizirana je podpora spekulativnim pravilom (Speculation rules), ki avtorjem spletnih strani omogočajo prenos informacij brskalniku o najbolj verjetnih straneh, na katere bi lahko uporabnik prešel. Brskalnik te informacije uporablja za predhodno nalaganje in upodabljanje vsebine strani.
- Stabiliziran je mehanizem pakiranja podresursov v pakete v formatu Web Bundle, kar povečuje učinkovitost nalaganja velikega števila sorodnih datotek (CSS slogi, JavaScript, slike, iframe). V nasprotju s paketi v formatu Webpack ima format Web Bundle naslednje prednosti: v HTTP cache se shrani ne paket, ampak njegove sestavne dele; kompilacija in izvajanje JavaScript se začne, ne da bi čakali na popolno nalaganje paketa; omogočena je vključitev dodatnih virov, kot so CSS in slike, ki jih je v webpacku treba kodirati v obliki JavaScript nizov.
- Dodana je CSS lastnost object-view-box, ki omogoča določitev dela slike, ki bo prikazana v predvidenem območju namesto določenega elementa, kar se lahko uporabi, na primer, za dodajanje obrobe ali sence.
- Dodana je API Fullscreen Capability Delegation, ki omogoča enemu objektu Window, da drugemu objektu Window prenese pravico klicanja requestFullscreen().
- Dodana je API Fullscreen Companion Window, ki omogoča prikazovanje vsebine v celozaslonskem načinu in pojavnih oken na drugem zaslonu po potrditvi uporabnika.
- V CSS lastnost overflow-clip-margin je dodana atribut visual-box, ki določa, od kdaj naj se začne obrezovanje vsebine, ki presega območje (lahko sprejema vrednosti content-box, padding-box in border-box).
- V API Async Clipboard je dodana možnost določanja specializiranih formatov za podatke, prenešene s pomočjo clipboards, ki niso besedilo, slike ali besedilo z oznakama.
- V WebGL je dodana podpora za določanje barvnega prostora za okvir za risanje in pretvorbo pri uvozu iz teksture.
- Podpora za platforme OS X 10.11 in macOS 10.12 je prenehana.
- Podpora za API U2F (Cryptotoken), ki je bila prej razglašena za zastarelo in je po privzetku bila onemogočena, je prenehana. Na mestu API U2F je prišel API Web Authentication.
- Izboljšave so bile uvedene v orodja za spletne razvijalce. V orodju za odpravljanje napak je dodana možnost ponovnega zagona kode na začetku funkcije po aktivaciji mejne točke nekje v telesu funkcije. Dodana je podpora za razvoj dodatkov za ploščo Recorder. V ploščo za analiziranje zmogljivosti je dodana podpora za vizualizacijo oznak, nastavljenih v spletnem aplikaciji preko klica metode performance.measure(). Izboljšani so predlogi pri samodejnem dopolnjevanju lastnosti objektov JavaScript. Pri samodejnem dopolnjevanju CSS spremenljivk je predogled vrednosti, ki niso povezane z barvami.

Poleg novosti in popravkov napak je v novi različici odprtih 27 ranljivosti. Številne ranljivosti so bile razkrite s pomočjo samodejnega testiranja z orodji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Kritične težave, ki omogočajo obhod vseh zaščitnih ravni brskalnika in izvajanje kode v sistemu zunaj sandbox okolja, niso bile ugotovljene. V okviru programa za nagrajevanje za odkrivanje ranljivosti je podjetje Google za trenutno različico podelilo 22 nagrad v skupni vrednosti 84 tisoč dolarjev (ena nagrada 15.000 $, ena nagrada 10.000 $, ena nagrada 8.000 $, ena nagrada 7.000 $, štiri nagrade 5.000 $, ena nagrada 4.000 $, tri nagrade 3.000 $, štiri nagrade 2.000 $ in tri nagrade 1.000 $). Velikost ene nagrade še ni določena.
Izvor: opennet.ru

