Compania Google a lansat versiunea web browser-ului Chrome 119. De asemenea, este disponibilă o versiune stabilă a proiectului liber Chromium, care stă la baza Chrome. Browserul Chrome se diferențiază de Chromium prin utilizarea siglelor Google, existența unui sistem de notificare în caz de blocare, module pentru redarea conținutului video protejat (DRM), un sistem automat de actualizare, activarea constantă a izolării Sandbox, furnizarea cheilor pentru Google API și transmiterea parametrilor RLZ în timpul căutărilor. Pentru cei care au nevoie de mai mult timp pentru actualizare, se suportă o ramură Extended Stable, care este însoțită de 8 săptămâni. Următoarea versiune Chrome 120 este planificată pentru 5 decembrie.
Principalele schimbări în Chrome 119:
- Ciclul de formare a versiunilor a fost scurtat, reducând timpul dintre crearea unei noi ramuri și începutul testării beta - versiunea beta este acum creată la două zile după crearea ramurii, și nu la 8 zile. Stabilizarea versiunii beta se face, ca și înainte, în decurs de 4 săptămâni. Astfel, ciclul de pregătire a noilor versiuni a devenit cu o săptămână mai scurt.
- A fost introdusă opțiunea de salvare a grupurilor de tab-uri. Utilizatorul poate acum salva un grup și închide tab-urile incluse în acesta, pentru a economisi resurse. Ulterior, când va fi necesar, tab-urile din grupul salvat pot fi restituite, precum și deschise pe alte dispozitive care participă la sincronizarea tab-urilor. Această funcționalitate este activată pentru o parte dintre utilizatori, iar pentru activarea forțată există setarea „chrome://flags/#tab-groups-save”.
- În interfață, au fost modificate formulările operațiunilor și setărilor legate de ștergerea și pierderea datelor. În locul termenului „curățare” (Clear) în astfel de operațiuni, acum se folosește cuvântul „ștergere” (Delete), deoarece termenul „curățare” nu era perceput de unii utilizatori ca un indiciu al pierderii irevocabile a datelor.
- La autocompletarea URL-ului, acum se iau în considerare orice cuvânt cheie utilizat anterior pentru căutarea site-ului, nu doar cuvintele care se potrivesc cu începutul adresei. De exemplu, autocompletarea adresei „https://www.google.com/travel/flights” va funcționa nu doar la introducerea cuvântului „google”, ci și la introducerea „flights”.

- A fost implementată corectarea automată a greșelilor de tipar atunci când se introduce adresa unui site și se oferă sugestii relevante, având în vedere site-urile vizitate anterior de utilizatorul curent. De exemplu, la introducerea „youutube”, va fi sugerat să se deschidă YouTube.com.

- S-a oferit posibilitatea căutării în secțiunile de marcaje prin bara de adrese. De exemplu, se poate adăuga numele secțiunii de marcaje și Chrome va sugera linkuri din acea secțiune, corespunzătoare cuvintelor cheie introduse. De exemplu, la introducerea „călătorii 2023 New”, vor fi sugerate linkuri din secțiunea de marcaje „călătorii 2023” legate de New York.

- S-a realizat afișarea recomandărilor de site-uri populare, chiar dacă utilizatorul nu le-a vizitat anterior sau a greșit la introducerea URL-ului. De exemplu, când, urmând recomandarea cuiva, utilizatorul încearcă să deschidă Google Earth și începe să tasteze „googleear” fără a ști adresa exactă, browserul va sugera să acceseze site-ul earth.google.com.

- În Chrome pentru sisteme desktop, a fost îmbunătățită lizibilitatea informațiilor din bara de adrese și a fost crescută reacția interfeței — rezultatele sunt acum afișate imediat după începerea tastării în bara de adrese.
- În conformitate cu modificarea specificației API Fetch, s-a asigurat eliminarea antetului HTTP Authorization în cazul redirecționării către un alt domeniu (cross origin).
- În setările notificărilor și localizării a fost adăugată opțiunea de a activa serviciul de auto-supraveghere a cererilor de confirmare a permisiunilor (Permission Suggestions Service). Sunt oferite următoarele moduri:
- a afișa întotdeauna cererile de permisiune pentru notificări și acces la localizare;
- a ignora automat cererile de permisiune spam, folosind mecanismul Permission Suggestions Service;
- a ignora întotdeauna toate cererile pentru notificări;
- a bloca întotdeauna toate cererile de permisiune pentru notificări și acces la localizare.
- În versiunile pentru platforma Android, când se activează protecția standard a browserului (Safe Browsing > Standard protection), este realizată în timp real verificarea securității URL-urilor deschise, efectuată pe baza trimiterii către servere Google a unor hash-uri parțiale ale URL-urilor deschise de utilizator. Pentru a exclude asocierile adrese IP Utilizatorului și hash-ului, datele sunt transmise printr-un proxy intermediar. Precedent, verificarea se efectua prin încărcarea unei copii locale a listei de URL-uri nesigure pe sistemul utilizatorului. Noua schemă permite blocarea mai rapidă a URL-urilor malware. Pentru sistemele desktop, acest mod a fost inclus în ultima versiune.
- Escaparea caracterelor non-alfabetice în numele gazdei la apelarea funcției URL a fost aliniată la specificația actualizată. De exemplu, apelul funcției ‘URL(„http://exa(mple.com;”)’ returna anterior ‘http://example.com/’, iar acum va genera o eroare » Invalid URL”.

- Toate Cookie-urile salvate anterior au fost supuse unei limitări a duratei de viață, similară cu cea aplicată începând cu versiunea Chrome 104 pentru Cookie-uri noi și actualizate. Durata de viață a Cookie-urilor existente va fi redusă la 400 de zile față de publicarea versiunii Chrome 119.
- În CSS au fost propuse noi pseudo-clase ‘:user-valid’ și ‘:user-invalid’, care reprezintă elemente de formă, a căror valori au trecut sau nu validarea. Spre deosebire de ‘:valid’ și ‘:invalid’, noile pseudo-clase sunt activate doar după interacțiunea utilizatorului cu elementul de formă.
- La setarea culorilor în CSS, este permisă definirea valorilor calculate în raport cu alți parametri de culoare. De exemplu, specificând ‘oklab(from magenta calc(l * 0.8) a b)’ se va obține o culoare cu 80% mai deschisă decât purpuriul.
- În proprietatea CSS clip-path, care permite limitarea vizibilității unui element la o zonă definită, a fost adăugată suport pentru valoarea pentru a defini o zonă arbitrară pentru decupat. De asemenea, este posibilă utilizarea funcțiilor xywh() și rect() pentru a simplifica definirea zonelor dreptunghiulare sau rotunjite.
- Suportul pentru API WebSQL a fost dezactivat, înlocuindu-l cu API Web Storage și Indexed Database. Handler-ul WebSQL se bazează pe codul bibliotecii SQLite. API WebSQL nu a fost suportat în alte browsere, era legat de o bibliotecă externă și creștea riscurile de securitate (WebSQL putea fi utilizat de atacatori pentru a exploata vulnerabilitățile din SQLite). Pentru a reveni la suportul WebSQL pentru utilizatorii corporativi, a fost păstrată politica WebSQLAccess, care va fi eliminată în Chrome 123.
- API-ul HTML Sanitizer a fost temporar eliminat, permițând eliminarea elementelor care afectează redarea și comportamentul la redarea prin metoda setHTML(). API-ul a fost conceput pentru a elimina etichetele HTML care pot fi utilizate pentru a efectua atacuri XSS. Motivul eliminării este incompletitudinea specificației, care s-a schimbat semnificativ de la adăugarea Sanitizer în Chrome. După finalizarea specificației, API-ul va fi readus.
- A fost eliminată atributul non-standard shadowRoot, care permitea elementelor personalizate să acceseze propriul rădăcină separată în Shadow DOM, indiferent de stare. În loc de shadowRoot, în Chrome 111 a fost propus atributul shadowRootMode, care a intrat în standardul web.
- Implementarea elementului HTML «<fencedframe>» a fost îmbunătățită, acesta asemănându-se cu „iframe” și permițând de asemenea inserarea de conținut extern pe pagină. Diferențele constau în restricționarea interacțiunii conținutului încorporat cu conținutul paginii la nivel de DOM și a atributelor. De exemplu, pagina news.example, în care a fost încorporat un bloc publicitar prin fencedframe, încărcat de pe site-ul shoes.example, nu poate accesa datele shoes.example, iar codul de pe site-ul shoes.example nu poate accesa datele legate de news.example. În noua versiune a fost adăugată suportul pentru substituțiile de dimensiune ale blocului publicitar apărute în API-ul Protected Audience, de exemplu, „https://ad.com?width={/_WIDTH%}&height={/_HEIGHT%}”.
- În metoda getDisplayMedia() a fost adăugat parametrul monitorTypeSurfaces, care poate fi utilizat pentru a interzice furnizarea accesului comun la întregul ecran.
- În metoda window.open() a fost adăugat parametrul experimental (origin trial) fullscreen, care permite deschiderea unei feronete direct în modul pe tot ecranul.
- În API-ul AudioEncoderConfig a fost adăugat flagul „bitrateMode” pentru a alege între bitrate constant (constant) și variabil (variable).
- TLS include o implementare a mecanismului de incapsulare a cheilor (KEM, Key Encapsulation Mechanism), care utilizează un algoritm hibrid X25519Kyber768, rezistent la atacurile computerelor cuantice. Pentru generarea cheilor de sesiune, utilizate pentru criptarea datelor în interiorul conexiunilor TLS, poate fi folosit acum un combo format din mecanismul de schimb de chei X25519, bazat pe curbe eliptice și folosit în prezent în TLS, și algoritmul Kyber-768, care utilizează metode de criptografie bazate pe soluționarea problemelor de teorie a rețelelor, timpul de soluționare al cărora nu este diferit pe computerele obișnuite și pe cele cuantice.
- Suportul pentru extensia WasmGC, care simplifică portarea în WebAssembly a programelor scrise în limbaje de programare care folosesc colectarea de gunoi (Kotlin, PHP, Java etc.), este activat implicit. WasmGC adaugă noi tipuri de structuri și array-uri pentru care poate fi aplicată alocarea de memorie non-lineară.
- Au fost aduse îmbunătățiri uneltelor pentru dezvoltatori web. A fost adăugată posibilitatea de a edita regulile CSS „@property” și de a emite avertismente pentru definițiile lor incorecte. Lista dispozitivelor emulate a fost actualizată (de exemplu, iPhone 14 și Pixel 7 au fost adăugate). Consola web implementează autocompletarea câmpurilor private. A fost asigurată formatarea datelor JSON plasate în blocuri

Pe lângă noutăți și corectări, noua versiune a eliminat 15 vulnerabilități. Multe dintre aceste vulnerabilități au fost identificate prin teste automatizate cu uneltele AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer și AFL. Nu au fost identificate probleme critice care să permită ocolirea tuturor nivelurilor de protecție ale browser-ului și executarea codului în sistem dincolo de mediul sandbox. În cadrul programului de recompensă financiară pentru descoperirea vulnerabilităților, pentru acest release, Google a plătit 13 recompense în valoare de 40.5 mii dolari SUA (o recompensă de $16000, $11000, $2000 și $500, trei recompense de $3000 și două recompense de $1000). Valoarea a 4 recompense nu a fost încă definită.
Sursa: opennet.ro






