Google ha pubblicato il rilascio del browser web Chrome 142. È disponibile anche una versione stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si differenzia da Chromium per l'uso dei loghi Google, per la presenza di un sistema di notifica in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamenti automatici, l'abilitazione costante della Sandbox Isolation, la fornitura di chiavi per le API Google e la trasmissione dei parametri RLZ durante le ricerche. Per chi ha bisogno di più tempo per l'aggiornamento, è mantenuta una branch Stable Extended, supportata per 8 settimane. La prossima versione di Chrome 143 è prevista per il 2 dicembre.
Le principali modifiche in Chrome 142:
- È stata implementata una protezione contro l'accesso al sistema locale durante l'interazione con siti pubblici. Durante le interazioni con un sito su una rete pubblica o interna (intranet) verso indirizzi IP sistemi locali o sull'interfaccia loopback (127.0.0.0/8), il browser mostrerà all'utente una finestra di dialogo chiedendo conferma dell'operazione. Le azioni protette includono tentativi di caricamento di risorse, richieste fetch() e inserimenti iframe. Attualmente, la protezione non si applica alle connessioni tramite WebSockets, WebTransport e WebRTC, ma sarà aggiunta per queste tecnologie in seguito.
L'accesso a risorse interne è utilizzato da 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.
- È stato proposto un'interfaccia unificata semplificata per il collegamento all'account Google e la sincronizzazione dei dati, come password e segnalibri salvati. La sincronizzazione è integrata con l'accesso all'account e non viene presentata come un'opzione separata nelle impostazioni. Gli utenti possono collegare Chrome al proprio account Google e usarlo per memorizzare password, segnalibri, cronologia delle visite e schede. Questa funzione è attivata per un numero limitato di utenti, ma la copertura aumenterà progressivamente.
- È stata attivata un nuovo modello di isolamento dei processi, denominato «Origin Isolation», in cui ogni origine del contenuto (origin - combinazione di protocollo, di dominio e porta, ad esempio «https://foo.example.com»), è isolata in un processo di rendering separato. Poiché un aumento della frammentazione dell'isolamento può portare ad un maggior consumo di memoria e a un aumento del carico CPU, il nuovo modello di isolamento è attivato solo su sistemi con più di 4 GB di RAM. Su hardware meno potente continuerà ad essere utilizzato il vecchio approccio di isolamento, che isola in un processo separato tutte le diverse origini di contenuto associate a un singolo sito (ad esempio foo.example.com e bar.example.com).
- Su sistemi Windows e macOS, in cui non è implementata la gestione centralizzata di Chrome, è stata realizzata la disattivazione automatica delle estensioni del browser installate forzatamente, in cui sono state riscontrate violazioni non sostanziali delle regole del Chrome Web Store. Le violazioni non sostanziali includono la presenza di potenziali vulnerabilità, l'imposizione dell'estensione senza la conoscenza dell'utente, manipolazioni dei metadati, violazioni delle regole relative ai dati degli utenti e informazioni fuorvianti riguardanti la funzionalità. Gli utenti possono riattivare l'estensione disattivata, se lo desiderano.
- Nella versione per Android, analogamente alle versioni per sistemi desktop, è stata implementata una notifica su pagine fraudolente, rilevate da un grande modello linguistico basato sull'analisi dei contenuti. L'uso dell'AI è applicato in modalità di protezione avanzata del browser (Enhanced Safe Browsing). Il modello AI viene eseguito sul lato client, ma in caso di sospetti su contenuti discutibili, viene effettuato un controllo aggiuntivo sui server di Google.
- Nell'implementazione del protocollo DTLS (Datagram Transport Layer Security, equivalente a TLS per UDP), utilizzato per le connessioni WebRTC, è stata inclusa l'adozione di algoritmi di crittografia post-quantistica.
- È stata implementata la memorizzazione dello stato di attivazione, impostato durante l'attività dell'utente su una pagina, dopo la navigazione verso un'altra pagina con lo stesso dominio. La memorizzazione dell'attivazione semplificherà lo sviluppo di applicazioni web multi-pagina e risolverà problemi come l'indirizzamento del focus durante l'apertura della tastiera virtuale del sito.
- In CSS sono stati aggiunti i pseudo-classi «:target-before» e «:target-after» per la definizione dei marcatori precedenti e successivi rispetto alla posizione di scorrimento attuale («:target-current»).
- Nelle media query di tipo «@container» e nella funzione «if()», è consentito l'uso della sintassi dei range (Range Syntax), definita nella specifica Media Queries Level 4, che permette di usare operatori matematici di confronto e logici per determinare intervalli di valori. Ad esempio, ora è possibile specificare «@container style(—inner-padding > 1em)» e «background-color: if(style(attr(data-columns, type) > 2): lightblue; else: white);»
- Negli elementi «<button>» e «<a>» è stata aggiunta la supporto per l'attributo «interestfor», che permette di organizzare azioni come mostrare un popup quando l'utente manifesta interesse per l'elemento. Il browser considera come segnali di interesse situazioni come il passaggio e il mantenimento del cursore sull'elemento, la pressione di tasti di scelta rapida o il mantenimento del tocco su uno schermo tattile. Quando viene rilevato interesse su un elemento con l'attributo «interestfor», il browser genera un evento InterestEvent.
- Sono stati apportati miglioramenti agli strumenti per sviluppatori web. Nell'angolo in alto a destra è stata aggiunta un'icona per richiamare rapidamente l'assistente AI. L'elemento del menu contestuale «Ask AI» è stato rinominato in «Debug with AI» ed è stato ampliato con la possibilità di eseguire azioni immediate a seconda del contesto. Nella console web e nella scheda del codice, l'assistente AI Gemini ora può generare raccomandazioni con codice.

Negli strumenti per sviluppatori web è stata assicurata l'integrazione con il servizio GDP (Google Developer Program). Gli sviluppatori ora possono collegarsi al proprio profilo GDP direttamente da Chrome DevTools e ottenere bonus per l'esecuzione di determinate attività in questa interfaccia.

Oltre alle nuove funzionalità e alla correzione di bug, nella nuova versione sono state eliminate 20 vulnerabilità. Molte di queste sono state riscontrate grazie a test automatizzati utilizzando strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state identificate problematiche critiche che consentono di bypassare 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à, Google ha istituito 20 premi per un totale di 130.000 dollari USA (due premi da 50.000 dollari, uno da 10.000 dollari e tre premi da 3.000 dollari, due premi da 2.000 dollari e tre premi da 1.000 dollari). L'importo di 8 ricompense non è ancora stato definito.
In aggiunta, si segnala il riscontro di una vulnerabilità ancora non corretta nel motore Blink, che provoca il crash e il blocco del browser durante l'esecuzione di determinati codici JavaScript. Questa vulnerabilità è causata da problemi architetturali nel motore di rendering, collegati alla mancanza di limitazioni sull'intensità delle operazioni di aggiornamento della proprietà «document.title». L'assenza di vincoli consente di utilizzare «document.title» per apportare decine di milioni di modifiche al DOM al secondo, cosa che, dopo pochi secondi, provoca il blocco dell'interfaccia a causa del sovraccarico del thread principale e di un notevole consumo di memoria, portando a un crash del browser dopo 15-60 secondi.
Fonte: opennet.ru


