L'azienda Google ha rilasciato la versione 145 del browser web Chrome. È disponibile anche un'edizione 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 di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di installazione automatica degli aggiornamenti, l'attivazione costante del Sandbox e la fornitura di chiavi per Google API e della trasmissione dei parametri RLZ durante la ricerca. Per coloro che necessitano di più tempo per l'aggiornamento, viene mantenuto un ramo Extended Stable, supportato per 8 settimane. La prossima versione di Chrome 146 è prevista per il 10 marzo.
Principali novità in Chrome 145:
- È stata aggiunta la supporto per il formato di immagine JPEG XL, la cui decodificazione è gestita dalla libreria jxl-rs con implementazione JPEG-XL in Rust. Il supporto per JPEG XL è attualmente disattivato per impostazione predefinita e richiede l'attivazione dell'opzione "chrome://flags/#enable-jxl-image-format".
- È 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 consente di porre domande complesse in linguaggio naturale e ricevere risposte basate sull'aggregazione delle informazioni dalle pagine più rilevanti sull'argomento. Se necessario, l'utente può chiarire le informazioni con domande di follow-up. La modalità consente anche di porre domande sui contenuti della pagina direttamente dalla barra degli indirizzi. In Chrome 145, la modalità AI è implementata nelle versioni per le piattaforme Android e iOS. Per gli utenti in Canada, India e Nuova Zelanda, è iniziata l'attivazione di default del chatbot Gemini (quando si utilizza la lingua inglese).
- È stato aggiunto un meccanismo DBSC (Device Bound Session Credentials) che consente di legare una sessione di autenticazione sul sito a un dispositivo specifico, rendendo più difficile l'esecuzione di attacchi da altri sistemi che utilizzano cookie di sessione intercettati. Per creare una sessione legata al dispositivo, è stato proposto l'intestazione HTTP "Secure-Session-Registration". Il metodo di protezione implica la fornitura di coppie di chiavi crittografiche legate all'attuale dispositivo, generate al momento della connessione e memorizzate nel TPM (Trusted Platform Module). Nella sessione vengono utilizzati cookie con una breve durata, che vengono aggiornati periodicamente utilizzando una chiave segreta e possono essere verificati con una chiave pubblica.

- Rimosso il parametro che consentiva di disabilitare il blocco delle estensioni del browser forzatamente installate, in cui sono state rilevate violazioni non sostanziali delle regole del Chrome Web Store. Le violazioni non sostanziali includono la presenza di vulnerabilità potenziali, l'imposizione dell'estensione senza la conoscenza dell'utente, manipolazioni dei metadati, violazioni delle regole di gestione dei dati degli utenti e la scorretta informazione sulle funzionalità.
- Nella versione per la piattaforma Android, attivando la modalità di protezione avanzata (AAPM, Android Advanced Protection Mode), è stato disabilitato l'API Javascript WebGPU. I siti che utilizzano WebGPU per il rendering di contenuti 3D (ad esempio, Google Maps) possono impiegare alternative più lente, come WebGL (che in test risulta essere il 5,78% più lento). Per rilevare la disattivazione di WebGPU, è possibile utilizzare la proprietà navigator.gpu.
- Nella versione per Android, abilitando la modalità di protezione avanzata del browser (Enhanced Safe Browsing), è stata implementata un'analisi locale dell'aspetto delle pagine per identificare segni di frodi. Se il controllo locale rileva sospetti su contenuti dubbiosi, viene eseguito un ulteriore controllo sui server di Google e, in caso di conferma, viene visualizzato un avviso per l'utente.
- Aggiunto l'API Origin, che fornisce un oggetto Origin, implementando il concetto di Web Origin e offrendo metodi per il confronto, la serializzazione e l'analisi del Web Origin. Il termine "Web Origin" è definito nella RFC 6454 per separare i confini di isolamento e fiducia nei contenuti. Il Web Origin comprende parte dell'URL con il nome del protocollo, il nome dell'host e il numero di porta (ad esempio, https://opennet.ru). Il nuovo API è stato introdotto per unificare le operazioni con il Web Origin per escludere vulnerabilità a causa di confronti errati delle rappresentazioni ASCII serializzate del Web Origin nella determinazione dell'appartenenza delle risorse a un unico sito.
- Separati i diritti di accesso al sistema locale durante l'interazione con i siti pubblici. Le richieste dal sito a indirizzi IP. una rete locale (intranet o indirizzi interni) e all'interfaccia loopback (127.0.0.0/8) ora vengono lavorate con poteri diversi (local-network e loopback-network), richiedendo all'utente di confermare l'operazione in un apposito dialogo. Sono inclusi nella protezione i tentativi di caricamento delle risorse, le richieste fetch() e gli iframe. Le chiamate alle risorse interne sono utilizzate dai malintenzionati per effettuare attacchi CSRF a router, punti di accesso, stampanti, interfacce web aziendali e altri dispositivi e servizi che accettano richieste solo dalla rete locale. Inoltre, la scansione delle risorse interne può essere utilizzata per identificazione indiretta o raccolta di informazioni sulla rete locale.
- Rimossa la impostazione UserAgentReduction, che consentiva di restituire informazioni non ridotte nell'intestazione HTTP User-Agent e nei parametri JavaScript navigator.userAgent, navigator.appVersion e navigator.platform. Il browser ora trasmette sempre una versione ridotta dell'User-Agent senza informazioni dettagliate sulla piattaforma (ad esempio, "Android 16; S" invece di "Android 16; SM-A205U").
- Nel visualizzatore PDF integrato è stata aggiunta la funzione di salvataggio del documento nel cloud di Google Drive. Nei documenti di Google Drive da Chrome vengono salvati nella cartella "Saved from Chrome".
- L'API LayoutShift, che consente di monitorare il cambiamento di posizione degli elementi DOM sullo schermo, è stata modificata per restituire informazioni in pixel CSS anziché in pixel dello schermo. Il pixel CSS tiene conto del DPI dello schermo e appare visivamente identico su qualsiasi schermo, inclusi i monitor ad alta densità di pixel. Questa modifica è stata effettuata per allineare Chrome al comportamento di altri browser.
- Per l'API Controlled Frame è stato implementato il metodo WebRequest.SecurityInfo, che consente all'applicazione web di intercettare le richieste HTTPS, WSS o WebTransport verso il server e ottenere un estratto del certificato. server e utilizzarlo per la verifica manuale del certificato impiegato per la connessione diretta a questo stesso server tramite TCP/UDP.
- È stato aggiunto il supporto per le proprietà CSS column-wrap e column-height, definite nella specifica CSS Multi-column Layout 2. La proprietà column-wrap permette di spostare le colonne su una nuova riga invece di effettuare uno scorrimento orizzontale, se le colonne non rientrano in altezza come specificato dalla proprietà column-height.
- È stata aggiunta la proprietà CSS text-justify, che permette di definire il tipo di allineamento del testo quando si utilizza «text-align: justify»;
- Nelle proprietà CSS letter-spacing e word-spacing è consentita l'indicazione della dimensione dell'indentazione in percentuale.
- Negli oggetti JavaScript Map e WeakMap è stata implementata la specifica «upsert», che semplifica l'interazione con le collezioni di coppie chiave/valore. Sono stati aggiunti i metodi getOrInsert e getOrInsertComputed, che restituiscono il valore già presente nella collezione associato alla chiave fornita, o creano una nuova voce se non è stata trovata alcuna chiave.
- L'implementazione dell'API IndexedDB è stata riscritta utilizzando il database SQLite come backend (la precedente implementazione si basava su LevelDB in file separati). La nuova versione è attualmente utilizzata solo in contesti caricati in memoria, ad esempio in modalità incognito.
- Sono stati apportati miglioramenti agli strumenti per gli sviluppatori web. Nell'interfaccia di ispezione della rete, nel pannello «Request conditions», è stata attivata di default la possibilità di limitare la velocità di singole richieste di rete.
Oltre alle nuove funzionalità e alla correzione di bug, nella nuova versione sono state eliminate 11 vulnerabilità. Molte delle vulnerabilità sono state scoperte grazie ai test automatizzati condotti con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state individuate problematiche critiche che consentissero di superare tutti i livelli di protezione del browser ed eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la scoperta di vulnerabilità per l'attuale rilascio, Google ha istituito 11 premi e ha versato 18.500 dollari USA (un premio di $8000, uno di $5000, uno di $2000 e uno di $500, tre premi da $1000). L'importo di 4 premi non è ancora stato definito.
Fonte: opennet.ru

