Google ha pubblicato la versione del browser web Chrome 146. È disponibile anche una versione 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, la presenza di un sistema di invio notifiche in caso di arresto anomalo, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamenti automatici, l'attivazione costante della Sandbox isolation, la fornitura di chiavi per le API di Google e la trasmissione dei parametri RLZ durante le ricerche. Per coloro che necessitano di più tempo per l'aggiornamento, è supportato un ramo Extended Stable, accompagnato da 8 settimane di supporto. Il prossimo rilascio di Chrome 147 è previsto per il 7 aprile.
Inoltre, Google ha annunciato la pubblicazione di versioni ufficiali di Chrome per sistemi Linux basati sull'architettura ARM64. Le versioni per Linux per ARM64 inizieranno a essere disponibili nel secondo trimestre del 2026 e saranno disponibili nei pacchetti deb e rpm. In precedenza, le versioni ufficiali di Chrome per Linux erano pubblicate solo per l'architettura x86_64, mentre per ARM64 erano disponibili solo versioni di Chromium di terze parti, offerte dalle distribuzioni. La versione ufficiale di Chrome si distingue per il supporto del collegamento a un account Google, l'integrazione dei servizi Google, la sincronizzazione dei dati tra dispositivi, l'installazione semplificata delle estensioni dal Chrome Web Store e la possibilità di attivare una modalità di protezione avanzata.
Principali modifiche in Chrome 146:
- Per alcuni utenti è stato attivato il meccanismo di limitazione selettiva dei permessi (Selective permission intervention), che blocca l'accesso degli script JavaScript legati alla visualizzazione della pubblicità alle funzionalità che influiscono sulla privacy, come l'accesso alle informazioni sulla posizione, al microfono, agli appunti, al Bluetooth, a USB, alla porta seriale e alla cattura dello schermo. L'idea è che, se un utente ha concesso l'accesso a tali funzionalità a una pagina, queste autorizzazioni non verranno applicate agli script di terze parti caricati su quella pagina da altri siti (separatamente tramite il tag iframe o direttamente tramite il tag script).
- È stata modificata la struttura delle impostazioni relative alla sicurezza. Per semplificare, all'utente è stata offerta la possibilità di scegliere tra un livello di protezione standard e uno rinforzato, permettendo di ottenere il livello di sicurezza desiderato senza la necessità di approfondire i dettagli e le opzioni avanzate. Se viene selezionata la modalità rinforzata, viene eseguita anche una verifica degli URL e dei contenuti su server Google, vengono visualizzati avvisi per le connessioni non sicure e viene rallentato il funzionamento di siti non abituali per l'utente per bloccare gli attacchi. Se desidera, l'utente può tornare al vecchio schema di configurazione separata di ogni impostazione. Per gestire l'attivazione della nuova interfaccia di configurazione della sicurezza, è stato proposto il parametro «chrome://flags/#bundled-security-settings».
- È proseguito lo sviluppo della modalità AI, che consente di interagire con l'agente AI dalla barra degli indirizzi o dalla pagina mostrata all'apertura di una nuova scheda. La modalità AI offre la possibilità di porre domande complesse in linguaggio naturale e di ricevere risposte basate sull'aggregazione di informazioni dalle pagine più rilevanti sull'argomento specificato. Se necessario, l'utente può chiarire informazioni ponendo domande di follow-up. Questa modalità consente anche di fare domande sul contenuto della pagina direttamente dalla barra degli indirizzi. In Chrome 146 è stata implementata la possibilità di utilizzare file dallo storage di Google Drive come contesto per l'agente AI.
- Nella modalità di completamento automatico dei campi è stata ampliata la possibilità di utilizzare ulteriori tipi di dati che in precedenza erano disponibili solo attivando la modalità di completamento automatico avanzato (Enhanced autofill).
- È iniziata l'attivazione graduale per gli utenti della protezione contro l'accesso al sistema locale durante l'interazione con siti pubblici. Gli accessi dai siti alla indirizzi IP. rete locale (intranet o indirizzi interni) o all'interfaccia loopback (127.0.0.0/8) richiederanno la conferma dell'operazione da parte dell'utente. Le azioni di protezione includeranno i tentativi di caricamento delle risorse, le richieste fetch() e le inserzioni iframe. La protezione non viene ancora applicata per le connessioni tramite WebSockets, WebTransport e WebRTC, ma sarà aggiunta in una prossima versione.
L'accesso alle risorse interne viene utilizzato da malintenzionati per l'identificazione indiretta e per l'esecuzione di attacchi CSRF su router, punti di accesso, stampanti, interfacce web aziendali e altri dispositivi e servizi che accettano richieste solo dalla rete locale. È stata proposta la configurazione LocalNetworkAccessIpAddressSpaceOverrides per gestire l'inclusione delle sottoreti nella categoria interna o pubblica, e per consentire automaticamente l'accesso agli iframe secondari in base alle autorizzazioni dell'iframe principale è stata aggiunta la configurazione LocalNetworkAccessPermissionsPolicyDefaultEnabled.
- Sono state aggiunte le proprietà CSS «animation-trigger» e «trigger-scope» per gestire le animazioni in base alla posizione di scorrimento della pagina. Ad esempio, è possibile avviare, fermare o riavviare un'animazione quando si raggiunge una certa posizione di scorrimento, utilizzando solo CSS dichiarativo senza l'uso di codice JavaScript.
- È stata implementata la supporto per il registro di elementi personalizzati per separare il contesto degli elementi HTML personalizzati, cosa che può essere necessaria quando si utilizzano sulla stessa pagina diversi elementi HTML personalizzati con lo stesso nome. Nel caso in cui più librerie definiscano un elemento con lo stesso nome, tramite l'oggetto JavaScript CustomElementRegistry è possibile associare gli elementi di ciascuna libreria a determinate parti della gerarchia DOM. Ad esempio, se due librerie definiscono elementi diversi con lo stesso nome , un elemento della prima libreria può essere utilizzato in una parte della pagina, mentre un altro della seconda libreria può essere utilizzato in un'altra parte.
- È stato aggiunto l'API Sanitizer, utile per filtrare i dati in entrata e rimuovere i tag HTML che potrebbero essere utilizzati per effettuare attacchi XSS. L'API fornisce metodi per manipolare HTML e rimuovere contenuti degli elementi HTML che influenzano il rendering e l'esecuzione. Per un'inserimento sicuro dei contenuti HTML è stato proposto il metodo element.setHTML(), simile a element.innerHTML, ma protetto contro il cross-site scripting (XSS). Per un'analisi sicura dell'HTML è stato implementato il metodo document.parseHTML(). const unsanitizedString = "abc alert(1) def"; const sanitizer1 = new Sanitizer({ elements: ["div", "p", "button", "script"], }); const target = document.getElementById("target"); target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
- Nell'elemento «meta» è implementato un parametro chiamato «text-scale» (ad esempio, ), che include il ridimensionamento automatico della dimensione del carattere sulla pagina secondo le impostazioni del browser e del sistema operativo, se sulla pagina sono utilizzate unità di misura relative (rem ed em).
- Nell'API WebGPU è stata aggiunta una modalità di compatibilità opzionale, che fornisce un sottoinsieme di funzionalità in grado di funzionare su sistemi con API grafiche obsolete, come OpenGL e Direct3D11.
- In JavaScript è stata aggiunta la possibilità di unire più iteratori in uno attraverso il metodo Iterator.concat().
- Nella modalità «Origin trials» è stato implementato l'API WebNN, che consente di utilizzare i servizi forniti dal sistema operativo per l'apprendimento automatico e le relative capacità hardware.
- Nella modalità «Origin trials» è stato implementato l'API CPU Performance per ottenere informazioni sul livello di prestazioni e sulle caratteristiche del processore (numero di core, tipo, architettura, modello, frequenza, ecc.).
- Nella modalità «Origin trials» è stato aggiunto l'attributo «focusgroup», che consente di utilizzare i tasti direzionali invece del tasto Tab per spostarsi tra i pulsanti o altri elementi collegati al cambio di focus.
- Sono stati apportati miglioramenti agli strumenti per sviluppatori web. Nella console web è garantita la memorizzazione dei risultati delle modifiche ai comandi durante la navigazione nella cronologia delle operazioni. Nel pannello Elements è stata implementata la visualizzazione degli stili CSS aggiunti programmaticamente al Shadow DOM tramite un nodo separato «#adopted-style-sheets» nell'albero DOM, in modo simile alla visualizzazione e modifica degli stili definiti tramite il tag .
Oltre alle novità e alle correzioni di errori nella nuova versione, sono state risolte 29 vulnerabilità. Molte delle vulnerabilità sono state scoperte grazie a test automatizzati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. A uno dei problemi (overflow del buffer in WebML) è stata assegnata una gravità critica, indicando che la vulnerabilità consente di eludere tutti i livelli di protezione del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la scoperta di vulnerabilità per la versione attuale, Google ha stanziato 29 premi e ha erogato 211.000 dollari USA, stabilendo un record per l'importo dei pagamenti in un'unica versione (due premi da 43.000$, uno da 36.000$, uno da 33.000$, uno da 11.000$ e uno da 7.000$, due premi da 10.000$ e tre premi da 2.000$ e 1.000$). L'importo di 12 premi non è ancora stato determinato.
Fonte: opennet.ru
