L'azienda Google ha rilasciato la versione 136 del browser web Chrome. È disponibile anche la versione stabile del progetto open source Chromium, che è la base di Chrome. Il browser Chrome si differenzia da Chromium per l'uso dei loghi Google, per la presenza di un sistema di invio delle notifiche in caso di crash, per i moduli per la riproduzione di contenuti video protetti da copia (DRM), per un sistema di aggiornamento automatico, per la costante attivazione della Sandbox e per la fornitura delle chiavi per le API di Google e la trasmissione dei parametri RLZ durante la ricerca. Per chi ha bisogno di più tempo per gli aggiornamenti, è supportato un ramo Extended Stable, che dura 8 settimane. La prossima versione di Chrome 137 è prevista per il 27 maggio.
Modifiche principali in Chrome 136:
- È stata aggiunta la protezione contro la fuoriuscita di informazioni sulle pagine visitate in precedenza, che si verifica a causa dell'uso del pseudo-classe CSS “:visited”, che consente di personalizzare l'aspetto dei link già aperti. Fino alla versione Chrome 136, il clic su un link portava a una modifica dell'aspetto di quel link su tutti i siti che mostravano quel link, indipendentemente dal sito da cui era stata iniziata la navigazione. Sul proprio sito, un aggressore poteva determinare se l'utente avesse precedentemente aperto i link di interesse analizzando le modifiche all'aspetto di tali link. Ad esempio, se si crea una lista di link a diverse pagine, le pagine già visitate in questa lista saranno contrassegnate dal browser con un colore diverso, da cui si può dedurre se i link siano stati visitati in precedenza.
Per bloccare la fuoriuscita di informazioni sui link visitati, Chrome ha implementato un isolamento nella gestione del selettore “:visited” in relazione al sito visitato, cioè gli elementi vengono ora stilizzati con “:visited” solo se sono stati aperti in precedenza con il sito attuale e in relazione all'iframe corrente. L'isolamento è stato realizzato attraverso l'hashing dello stile dei link visitati utilizzando come chiave tre componenti: il link, il sito di livello superiore e l'host utilizzato nell'iframe.

Ad esempio, se dal sito "A" c'è stato un clic sul link, il link verrà evidenziato solo sul sito "A" e rimarrà invariato sul sito dell'attaccante. Ci sono eccezioni solo per gli iframe caricati dal sito principale (same-origin) e per i link al sito attuale. Così, aprendo il sito "A", i link che portano al sito "A" verranno evidenziati anche se il clic è avvenuto da un altro sito, mentre gli altri link verranno evidenziati solo se i clic sono stati dal sito "A".


In Firefox, la protezione da queste perdite è stata aggiunta nel 2010, ma esistevano metodi per aggirarla. Ad esempio, nel 2024, in Firefox 122 è stata rimossa la possibilità di analizzare il colore dei pixel utilizzando filtri che impiegano il parametro currentColor e manipolazioni del tag canvas in SVG.
- Nella versione per Android è stata implementata la trasmissione su servers Google della telemetria con dati sui pacchetti APK scaricati tramite il browser. Attualmente, la funzionalità si limita all'invio di telemetria, ma in futuro verrà utilizzata per mostrare avvisi e bloccare il download di APK dannosi. Il controllo viene effettuato solo se il modo di protezione avanzato del browser è attivato nelle impostazioni (Safe Browsing > Protezione avanzata).
- Per il debug remoto è ora necessario specificare una directory separata con i dati, da impostare all'avvio tramite il parametro "—user-data-dir", che deve essere fornito insieme al parametro "—remote-debugging-pipe" o "—remote-debugging-port". Utilizzando la directory predefinita in Windows, Linux e macOS, il debug remoto non funzionerà più. La ragione del cambiamento è combattere il malware che utilizza il debug remoto per estrarre dati da Google Chrome. Utilizzando una directory separata, viene applicata una chiave di crittografia diversa che non consente l'accesso ai dati di lavoro dell'utente nella directory principale. La modifica si applica solo a Chrome e non a Chromium.
- È stata modernizzata la progettazione delle barre di scorrimento sulle piattaforme Linux e Windows. Quando non sono attive, la barra di scorrimento viene nascosta e appare solo al ripristino dello scorrimento della pagina. Per gestire il nuovo design delle barre di scorrimento sono state proposte impostazioni chrome://flags#fluent-overlay-scrollbars e chrome://flags#fluent-scrollbars.


- Nella funzione CSS attr(), l'argomento di tipo «string» è stato rinominato in «raw-string», in conformità con la decisione del gruppo di lavoro che coordina lo sviluppo delle specifiche CSS. Questa modifica è volta a eliminare la confusione dovuta alla somiglianza delle espressioni «attr(foo type())» e «attr(foo string)».
- Nell'API ProgressEvent, utilizzato per creare indicatori di progresso, negli attributi «loaded» e «total» è stato utilizzato il tipo «double» invece del tipo «unsigned long long», in modo da corrispondere al comportamento dell'elemento HTML
- Per l'escaping delle stringhe utilizzate all'interno delle espressioni regolari, è stato proposto il metodo statico «RegExp.escape». Le stringhe scappate utilizzando RegExp.escape possono essere utilizzate in modo sicuro come modello nel costruttore RegExp().
- Il sito è autorizzato a generare automaticamente le chiavi Passkey basate sulle credenziali già salvate per quel sito. La creazione della Passkey avviene senza visualizzare un dialogo modale separato, se in precedenza l'utente ha già confermato per il sito la creazione delle credenziali.
- È stata aggiunta la proprietà CSS dynamic-range-limit per limitare la massima luminosità dei contenuti HDR.
- Nell'API Speculation Rules (), utilizzato per configurare il caricamento preventivo delle risorse, è consentito specificare un campo opzionale «tag» per tenere traccia della fonte. Il contenuto di questo campo sarà inviato tramite l'intestazione HTTP Sec-Speculation-Tags.
- In WebRTC e nell'API MediaRecorder è stato aggiunto il supporto per il codec H265 (HEVC) oltre a quelli precedentemente supportati VP8, H.264, VP9 e AV1.
- Negli strumenti per gli sviluppatori web sono state ampliate le funzionalità del pannello per l'analisi delle prestazioni. Sono stati aggiunti rapporti sulle richieste che utilizzano il vecchio protocollo HTTP/1.1, sull'efficacia del lavoro con la cache e sull'ottimizzazione tramite la proprietà font-display. Nella pagina «Privacy and security > Privacy > Cookies di terze parti» è stata aggiunta la possibilità di cercare singoli cookie. È stata introdotta una funzione sperimentale per fornire suggerimenti sui problemi con elementi e attributi nel DOM.

Oltre alle nuove funzionalità e alla correzione di errori, nella nuova versione sono state risolte 8 vulnerabilità. Molte di queste vulnerabilità sono state identificate grazie a test automatizzati utilizzando strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state riscontrate problematiche critiche in grado 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 ricompense per la scoperta di vulnerabilità, Google ha assegnato 4 premi per l'attuale rilascio, per un totale di 10.000 dollari USA (un premio da 5.000 $, due premi da 2.000 $ e uno da 1.000 $).
Fonte: opennet.ru






