Google ha pubblicato il rilascio del browser web Chrome 125. È disponibile contemporaneamente 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 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 l'attivazione costante della Sandbox e per la fornitura di chiavi per Google API e il trasferimento dei parametri RLZ durante le ricerche. Per coloro che necessitano di più tempo per l'aggiornamento, è supportata separatamente una versione Extended Stable che dura 8 settimane. Il prossimo rilascio di Chrome 126 è previsto per l'11 giugno.
Principali cambiamenti in Chrome 125:
- Google ha rinviato la prevista cessazione del supporto per i cookie di terze parti alla fine dell'anno, per i siti diversi da di dominio la pagina corrente (questi cookie sono utilizzati per monitorare i movimenti dell'utente tra i siti nel codice delle reti pubblicitarie, dei widget dei social media e dei sistemi di web analytics). Nella nuova versione, per identificare i siti che utilizzano cookie di terze parti, è stato aggiunto un indicatore con un'immagine di un occhio nella barra degli indirizzi, che viene barrato quando i cookie di terze parti sono bloccati. Poiché continua il test di disattivazione dei cookie di terze parti su 1% degli utenti e c'è la possibilità di disattivazione manuale tramite l'impostazione “chrome://flags/#test-third-party-cookie-phaseout”, nel menu contestuale è presente un'opzione per ripristinare temporaneamente il supporto per i cookie di terze parti per siti selezionati. L'annullamento del blocco è valido per 90 giorni dopo l'attivazione.

- Attivando la protezione avanzata del browser (Safe Browsing > Enhanced protection) è stata implementata una scansione approfondita automatica dei file scaricati, che avviene tramite l'invio di informazioni a servers Google (precedentemente veniva visualizzata una richiesta di conferma per la verifica esterna, ora la verifica sarà eseguita automaticamente).
- Le versioni per la piattaforma Windows sono ora fornite anche per la piattaforma ARM64.
- È stato aggiunto un nuovo meccanismo per l'aggiornamento dei componenti che richiedono il caricamento di grandi volumi di dati. Si tratta dell'aggiornamento dei modelli per le funzionalità recentemente aggiunte che utilizzano l'apprendimento automatico: la modalità di raggruppamento intelligente delle schede, il generatore di temi e il assistente interattivo.
- Sono stati aggiunti due nuovi tipi di estensioni potenzialmente problematiche per le quali agli utenti verranno mostrate avvertenze con raccomandazioni di valutare l'opportunità del loro utilizzo continuato: estensioni installate al di fuori del catalogo Chrome Web Store e estensioni che utilizzano tattiche ingannevoli per imporre l'installazione di software non necessario.
- Il comportamento alla cancellazione dell'evento "mousemove" è stato allineato con altri browser: la cancellazione dell'evento non blocca più le operazioni di selezione del testo e di drag&drop (per bloccare la selezione e il drag&drop, è necessario annullare gli eventi selectstart e dragstart).
- È stato aggiunto un insieme di proprietà CSS per gestire la visualizzazione degli elementi ancorati alla posizione di altri elementi (CSS Anchor Positioning) senza l'uso di JavaScript, ad esempio, per ancorare gli elementi delle finestre pop-up (popover), che appaiono in modo simile ai tooltip. Per configurare l'ancoraggio di un elemento a un altro elemento e definire l'area di output, sono state proposte le proprietà anchor-name, position-anchor e inset-area, e per ottenere informazioni sul punto di ancoraggio è stata aggiunta la funzione anchor().
- In CSS sono state aggiunte le funzioni matematiche round(), mod() e rem().
- È stata aggiunta una nuova sintassi per riflettere lo stato degli elementi HTML personalizzati (custom element) in CSS, che consente di utilizzare la pseudo-classe ":state()".

- È stata aggiunta l'API Compute Pressure, che consente di ottenere informazioni di alto livello sullo stato attuale dell'hardware, ad esempio, in generale è possibile ottenere informazioni sul carico generato sulla CPU (vengono indicati i livelli: carico minimo con attivazione del risparmio energetico; carico accettabile che consente di eseguire senza problemi operazioni aggiuntive; carico elevato, ma nei limiti accettabili e non interferente con il funzionamento del sistema; carico critico, vicino al limite delle risorse).
- Accesso all'API di Storage, utilizzato per richiedere all'utente autorizzazioni per accedere allo storage dei cookie, se i cookie di terze parti sono bloccati, potenziato dalla possibilità di richiedere accesso da gestori di terze parti (ad esempio, da contenuti all'interno ) a archivi non legati ai cookie, come indexedDB.
- Aggiunto supporto sperimentale (origin trial) per l'API di Enumeration dei Segmenti del Viewport, destinato a organizzare l'output su dispositivi con schermi pieghevoli.
- Possibilità di utilizzare gli schemi URL HTTP e HTTPS nel costruttore WebSocket invece degli schemi 'ws:' e 'wss:'.
- In JavaScript è ora permesso utilizzare i modificatori '?i', '?-i', '?m', '?-m', '?s', '?-s' all'interno delle espressioni regolari per gestire l'attivazione o la disattivazione dei flag 'i', 's' e 'm'. Ad esempio, '?-i' in 're1 = /^[a-z](?-i:[a-z])$/i;' disattiverà l'applicazione di '/i' (ignorando il caso) per il secondo carattere (re1.test('aB') restituirà false).
- Miglioramenti agli strumenti per sviluppatori web. Nella console web è stata aggiunta un'opzione per mostrare una spiegazione riguardo l'errore o l'avviso, generato tramite richiesta al chatbot AI Gemini. Nella sezione CSS è stato aggiunto il supporto per le regole '@position-try'. Nella sezione di editing e visualizzazione del codice sorgente della pagina sono state aggiunte impostazioni per rendere leggibili le pagine compattate e chiudere automaticamente le parentesi durante la modifica. Nella sezione per il monitoraggio dell'attività di rete è stato aggiunto il supporto per gli header HTTP utilizzati nelle risposte con codice 103 'Early Hints'. Nella sezione per l'analisi delle prestazioni sono state aggiunte statistiche sui selettori CSS.

Oltre alle novità e alla correzione di errori, nella nuova versione sono state risolte 9 vulnerabilità. Molte delle vulnerabilità sono state individuate grazie a test automatizzati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. La vulnerabilità CVE-2024-4947, causata da una gestione scorretta dei tipi (Type Confusion) nel motore V8 e classificata come critica, veniva sfruttata dagli aggressori per attacchi (0-day) fino alla sua correzione. Non sono state trovate problematiche critiche in grado di eludere ogni livello 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 l'attuale release, Google ha distribuito 4 premi per un totale di 8.000 dollari USA (uno da $7000, uno da $1000). L'importo di due premi deve ancora essere definito.
Fonte: opennet.ru



