L'azienda Google ha pubblicato la versione 152 del browser web Chrome. È contemporaneamente disponibile un rilascio stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si distingue da Chromium per l'uso dei loghi Google, per la presenza di un sistema di invio di notifiche in caso di crash, per moduli per la riproduzione di contenuti video protetti da copyright (DRM), per un sistema di aggiornamento automatico, per l'attivazione costante dell'isolamento Sandbox, per la fornitura di chiavi per le API Google e per la trasmissione dei parametri RLZ durante la ricerca. Per coloro che necessitano di più tempo per l'aggiornamento, è disponibile un ramo Extended Stable, supportato per 8 settimane. Il prossimo rilascio di Chrome 153, nel nuovo ciclo di sviluppo di due settimane, è previsto per l'8 settembre.
Modifiche principali in Chrome 152 (1, 2, 3, 4):
- Implementato, ma non ancora abilitato per impostazione predefinita, lo schema URI personalizzato “googlechrome://”, che consente ai siti esterni, aperti in altri browser, di attivare Chrome per visualizzare la pagina quando viene aperto un link.
- Per il 31 agosto è prevista la rimozione dal catalogo Chrome Web Store di tutte le estensioni che utilizzano la seconda versione del manifesto di Chrome, che definisce le capacità e le risorse disponibili per le estensioni scritte utilizzando l'API WebExtensions. Le estensioni già installate rimarranno sui sistemi degli utenti, ma non potranno ricevere aggiornamenti e non potranno essere reinstallate in caso di rimozione dal browser.
- Il protocollo CUP (Client Update Protocol), utilizzato per le richieste ai server di distribuzione degli aggiornamenti dei componenti del browser e delle estensioni, è passato all'uso di algoritmi di crittografia post-quantistica.
- Nelle versioni per Windows è stata aggiunta la possibilità di utilizzare le ACL di Windows per bloccare la lettura e la modifica della memoria dei processi di Chrome. Poiché il blocco potrebbe causare problemi di compatibilità con alcuni pacchetti antivirus, sistemi di prevenzione delle perdite di dati o strumenti per persone con disabilità, il meccanismo di protezione evidenziato non è abilitato per impostazione predefinita (per attivarlo, è necessario impostare l'opzione chrome://flags/#enable-process-isolation-ui su Abilitato e selezionare la modalità di isolamento del processo nella pagina chrome://settings/system).
- Per le applicazioni web isolate (IWA, Isolated Web App) è possibile creare sotto-applicazioni che consentono di fornire più programmi all'interno di una singola installazione IWA, ognuno con il proprio nome, icone e strumenti di integrazione con il sistema (ad esempio, associazioni per gestire determinati tipi di file). Queste sotto-applicazioni appaiono come programmi separati, ma sono fornite in un unico pacchetto. Nella versione per ChromeOS, è stato inoltre implementato un modo di apertura a schermo intero per le applicazioni IWA, in cui il contenuto dell'applicazione si espande su tutto lo spazio della finestra del browser, sostituendo, tra l'altro, i bordi e l'intestazione.
- Nella versione per Android, attivando la modalità di protezione avanzata (Safe Browsing > Enhanced protection), vengono fornite avvertenze quando si apre siti potenzialmente dannosi. L'avviso blocca l'apertura del sito fino a quando l'utente non conferma l'operazione.
- Nella versione per Android è stata aggiunta una nuova schermata unificata per la gestione della compilazione automatica e delle password, che raccoglie in un unico luogo i dati utilizzati per la compilazione automatica dei moduli, come indirizzi e password.
- È stato aggiunto l'API CPU Performance per ottenere informazioni sul livello di prestazioni e sulle caratteristiche del processore. Nelle impostazioni (Settings > Performance > Speed > Override CPU performance tier) è possibile impostare manualmente il livello di prestazioni comunicato ai siti. Sono disponibili i seguenti livelli: 0 — prestazione sconosciuta, 1 — bassa prestazione, 2 — media, 3 — alta, 4 — ultra.
- Nell'interfaccia CSSPseudoElement, che consente di lavorare con i pseudo-elementi CSS da JavaScript, è stata aggiunta la supporto per i pseudo-elementi «::backdrop» (per gestire le interazioni con lo sfondo delle finestre modali, ad esempio, si può organizzare la chiusura del dialogo al clic sull'area di sfondo), «::scroll-marker» (per gestire eventi di interazione con gli indicatori di scorrimento) e «::view-transition» (per l'intercettazione dell'animazione di transizione da uno stato all'altro).
- È stato implementato l'intestazione HTTP Connection-Allowlists, attraverso la quale è possibile inviare un elenco di modelli di URL ai quali è consentito alla pagina inviare richieste di rete. Quando l'intestazione è impostata, il codice JavaScript eseguito nel contesto della pagina o i Web Worker non possono accedere agli URL che non rientrano nell'elenco fornito.
- In CSS è stata aggiunta la funzione alpha(), che consente di modificare il canale alfa (livello di trasparenza) per un colore specificato.
- È stata aggiunta la proprietà CSS window-drag, che permette di definire l'area della finestra delle applicazioni web desktop (PWA) trattata come l'intestazione della finestra, da cui la finestra può essere spostata con il mouse.
- Per gli elementi HTML modificabili, come <input> e <textarea>, è stato aggiunto l'attributo «autocorrect», che consente di gestire l'applicazione dell'autocorrezione ai dati inseriti dall'utente.
Oltre alle novità e alle correzioni di bug, nella nuova versione sono state risolte 327 vulnerabilità. A dieci problemi è stato assegnato un livello di gravità critico, il che significa che le vulnerabilità consentono di bypassare tutti i livelli di protezione del browser ed eseguire codice nel sistema al di fuori dell'ambiente sandbox. Otto problemi critici sono stati causati dall'accesso a memoria già liberata (use-after-free), uno da un controllo insufficiente dei dati di input non attendibili e uno dall'uso di variabili non inizializzate.
Inoltre, si può notare l'implementazione del supporto sperimentale per la distribuzione di Chrome per Linux in pacchetti nel formato Flatpak, l'interazione con il sistema avviene tramite l'uso dei portali XDG.
Fonte: opennet.ru
