L'azienda Google ha presentato il rilascio del browser web Chrome 103. È disponibile contemporaneamente una versione stabile del progetto open-source Chromium, che forma la base di Chrome. Il browser Chrome si distingue da Chromium per l'uso dei loghi di Google, la presenza di un sistema di invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamento automatico, l'attivazione costante della sandbox, la fornitura di chiavi per le API di Google e la trasmissione di parametri RLZ durante la ricerca. Per coloro che hanno bisogno di più tempo per l'aggiornamento, è supportata separatamente la versione Extended Stable, accompagnata da 8 settimane. Il prossimo rilascio di Chrome 104 è previsto per il 2 agosto.
Le principali novità in Chrome 103:
- È stato aggiunto un editor di immagini sperimentale, chiamato per modificare gli screenshot delle pagine. L'editor offre funzioni come ritaglio, selezione di aree, disegno a mano libera, scelta del colore, aggiunta di etichette testuali e creazione di forme e primitive standard come linee, rettangoli, cerchi e frecce. Per attivare l'editor, è necessario abilitare le impostazioni "chrome://flags/#sharing-desktop-screenshots" e "chrome://flags/#sharing-desktop-screenshots-edit". Dopo aver creato uno screenshot tramite il menu Condividi sulla barra degli indirizzi, si può accedere all'editor facendo clic sul pulsante "Modifica" nella pagina di anteprima dello screenshot.

- Sono state ampliate le funzionalità del meccanismo di pre-rendering (prerender) per i contenuti delle raccomandazioni sulla barra degli indirizzi Omnibox, già introdotto in Chrome 101. Il pre-rendering integra la possibilità già disponibile di caricare le raccomandazioni più probabili per il passaggio senza attendere il clic dell'utente. Oltre al caricamento, il contenuto delle pagine collegate alle raccomandazioni può ora essere renderizzato nella memoria (compresi l'esecuzione di script e la formazione dell'albero DOM), garantendo così un'istantanea visualizzazione delle raccomandazioni dopo il clic. Per gestire il pre-rendering, sono disponibili le impostazioni "chrome://flags/#enable-prerender2", "chrome://flags/#omnibox-trigger-for-prerender2" e "chrome://flags/#search-suggestion-for-prerender2".
In Chrome 103 per Android è stato aggiunto l'API Speculations Rules, che consente agli autori di siti web di fornire al browser informazioni sulle pagine che l'utente potrebbe visitare con maggiore probabilità. Il browser utilizza queste informazioni per il caricamento e il rendering preventivo del contenuto delle pagine.
- Nella versione per Android è stato introdotto un nuovo gestore delle password, che offre la stessa interfaccia unificata per la gestione delle password utilizzata nelle app Android.
- Nella versione per Android è stata aggiunta la supporto del servizio «With Google», che consente all'utente di esprimere gratitudine ai siti preferiti, registrati al servizio, inviando adesivi digitali a pagamento o gratuiti. Attualmente, il servizio è disponibile solo per gli utenti negli Stati Uniti.

- È migliorato il riempimento automatico dei campi con i numeri delle carte di credito e debito, supportando ora le carte salvate tramite Google Pay.
- Nella versione per Windows è attivato di default il client DNS integrato, utilizzato anche nelle versioni per macOS, Android e Chrome OS.
- È stato stabilizzato e reso disponibile a tutti l'API Local Font Access, che consente di identificare e utilizzare i font installati nel sistema, nonché di manipolare i font a basso livello (ad esempio, filtrando e trasformando i glifi).
- È stata aggiunta la supporto per il codice di risposta HTTP 103, che consente di informare il client sui contenuti di alcuni header HTTP subito dopo la richiesta, senza dover aspettare che server completi tutte le operazioni relative alla richiesta e inizi a restituire il contenuto. In questo modo, possono essere comunicate indicazioni sugli elementi associati alla pagina restituita, che possono essere caricati preventivamente (ad esempio, possono essere forniti link ai file css e javascript utilizzati nella pagina). Ricevute informazioni su tali risorse, il browser può avviarne il caricamento senza dover attendere il completamento della restituzione della pagina principale, riducendo così il tempo totale di elaborazione della richiesta.
- In modalità Origin Trials (funzionalità sperimentali che richiedono un'attivazione separata) è iniziato il test dell'API Federated Credential Management (FedCM) solo nelle build per la piattaforma Android, che consente di creare servizi di identificazione unificati che garantiscono la privacy e funzionano senza meccanismi di tracciamento cross-site, come la gestione dei cookie di terze parti. L'Origin Trial implica la possibilità di utilizzare l'API indicata da applicazioni caricate da localhost o 127.0.0.1, o dopo aver completato la registrazione e ottenuto un token speciale valido per un periodo limitato per un sito specifico.
- Nell'API Client Hints, sviluppata come sostituto dell'intestazione User-Agent e che consente di fornire selettivamente dati su specifici parametri del browser e del sistema (versione, piattaforma, ecc.) solo su richiesta server, è stata aggiunta la possibilità di sostituire nell'elenco degli identificatori del browser nomi fittizi, in analogia con il meccanismo GREASE (Generate Random Extensions And Sustain Extensibility) utilizzato in TLS. Ad esempio, oltre a '"Chrome"; v="103"' e '"Chromium"; v="103"', nell'elenco può essere aggiunto un identificatore casuale di un browser inesistente '"(Not;Browser"; v="12"'. Tale sostituzione permetterà di identificare problemi nella gestione degli identificatori dei browser sconosciuti, che costringono i browser alternativi a spacciarsi per altri browser popolari per superare il controllo dell'elenco dei browser autorizzati.
- I file nel formato immagine AVIF sono stati aggiunti all'elenco consentito per la condivisione tramite l'API iWeb Share.
- È stata aggiunta la supporto per il formato di compressione "deflate-raw", che consente di accedere a un flusso compresso grezzo senza intestazioni e blocchi finali di servizio, cosa che può essere utilizzata, ad esempio, per la lettura e scrittura di file zip.
- Per gli elementi di web form è stata fornita la possibilità di utilizzare l'attributo "rel", il che consente di applicare alla navigazione tramite web form il parametro "rel=noreferrer" per disattivare la trasmissione dell'intestazione Referer o "rel=noopener" per disabilitare la proprietà Window.opener e vietare l'accesso al contesto da cui è stata effettuata la transizione.
- L'implementazione dell'evento popstate è stata allineata al comportamento di Firefox. L'evento popstate viene ora generato immediatamente dopo la modifica dell'URL senza attendere l'evento load.
- Per le pagine aperte senza HTTPS e nei blocchi iframe è vietato l'accesso alle API Gamepad e API Battery Status.
- Nell'oggetto SerialPort è stato aggiunto il metodo forget() per rinunciare ai diritti precedentemente concessi dall'utente per accedere alla porta seriale.
- Nella proprietà CSS overflow-clip-margin è stato aggiunto l'attributo visual-box, che determina da quale punto deve iniziare il ritaglio del contenuto che esce dai limiti dell'area (può assumere valori content-box, padding-box e border-box).
- Negli iframe con l'attributo sandbox è vietato chiamare protocolli esterni e avviare applicazioni esterne di gestione. Per annullare la limitazione è necessario utilizzare le proprietà allow-popups, allow-top-navigation e allow-top-navigation-with-user-activation.
- È stata interrotta la supporto all'elemento , che ha perso significato dopo la cessazione del supporto ai plugin.
- Sono stati apportati miglioramenti agli strumenti per sviluppatori web. Ad esempio, nel pannello Stili è stata aggiunta la possibilità di definire il colore di un punto al di fuori della finestra del browser. Migliorato il preview dei valori dei parametri nel debugger. È stata aggiunta la possibilità di modificare l'ordine di visualizzazione dei pannelli nell'interfaccia Elements.
Oltre alle nuove funzionalità e alla correzione di bug, nella nuova versione sono state risolte 14 vulnerabilità. Molte di queste vulnerabilità sono state identificate grazie ai test automatizzati con gli strumenti AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. A uno dei problemi (CVE-2022-2156) è stato assegnato un livello critico di gravità, che implica la possibilità di superare tutti i livelli di protezione del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. I dettagli di questa vulnerabilità non sono ancora stati rivelati, si sa solo che è causata dall'accesso a un blocco di memoria liberato (use-after-free).
Nell'ambito del programma di premi monetari per la segnalazione di vulnerabilità per il rilascio attuale, Google ha assegnato 9 premi per un totale di 44.000 dollari USA (un premio di 20.000 $, un premio di 7.500 $, un premio di 7.000 $, due premi di 3.000 $ e un premio di 2.000 $, 1.000 $ e 500 $ ciascuno). L'importo del premio per la vulnerabilità critica non è ancora stato stabilito.
Fonte: opennet.ru


