È stato rilasciato il browser web Firefox 93. Inoltre, è stato creato un aggiornamento per le versioni a lungo termine — 78.15.0 e 91.2.0. La versione beta di Firefox 94 è stata avviata, il rilascio è previsto per il 2 novembre.
Novità principali:
- Abilitato di default il supporto per il formato di immagini AVIF (AV1 Image Format), che utilizza tecnologie di compressione intra-frame dal formato di codifica video AV1. Sono supportati spazi colore a gamma completa e limitata, nonché operazioni di trasformazione (rotazione e riflessione). L'animazione non è ancora supportata. Per impostare la conformità alle specifiche in about:config è stata proposta l'opzione «image.avif.compliance_strictness». Il valore dell'intestazione HTTP ACCEPT è stato modificato di default in «image\/avif,image\/webp,*\/ *».
- Il motore WebRender, scritto in Rust, è stato reso obbligatorio, permettendo un notevole aumento della velocità di rendering e una riduzione del carico sulla CPU grazie a operazioni di rendering spostate sulla GPU, implementate tramite shader GPU. Per i sistemi con schede grafiche obsolete o driver grafici problematici, WebRender utilizza una modalità di rasterizzazione software (gfx.webrender.software=true). Il supporto per l'opzione di disattivazione di WebRender (gfx.webrender.force-legacy-layers e MOZ_WEBRENDER=0) è stato interrotto.
- Migliorato il supporto per il protocollo Wayland. È stato aggiunto uno strato che risolve problemi con il copia e incolla negli ambienti basati su protocollo Wayland. Sono state incluse modifiche che eliminano il sfarfallio durante il movimento delle finestre ai bordi dello schermo in configurazioni multi-monitor utilizzando Wayland.
- Nel visualizzatore PDF integrato è stata implementata la possibilità di aprire documenti con moduli interattivi XFA, comunemente utilizzati in moduli elettronici di varie banche e istituzioni governative.

- La protezione contro il caricamento di file trasferiti tramite HTTP senza crittografia, ma avviati da pagine aperte in HTTPS, è attivata. Tali caricamenti non sono protetti contro le manomissioni a causa del controllo del traffico di transito, ma poiché avvengono tramite pagine aperte in HTTPS, l'utente può avere una falsa impressione della loro sicurezza. Quando si tenta di caricare tali dati, verrà mostrato un avviso all'utente che consente di annullare il blocco se lo desidera. Inoltre, ora è vietato e verrà bloccato silenziosamente il caricamento di file da iframe isolati in cui non è specificato esplicitamente l'attributo allow-downloads.

- È stata migliorata l'implementazione del meccanismo SmartBlock, progettato per affrontare i problemi sui siti che sorgono a causa del blocco di script esterni in modalità di navigazione privata o quando è attivato il blocco intensificato di contenuti non desiderati (strict). SmartBlock sostituisce automaticamente gli script di tracciamento con dei placeholder, garantendo il caricamento corretto del sito. I placeholder sono stati preparati per alcuni script di tracciamento degli utenti popolari inclusi nella lista Disconnect. Nella nuova versione è stata inclusa anche la blocco adattivo degli script di Google Analytics, degli script delle reti pubblicitarie di Google e dei widget dei servizi di Optimizely, Criteo e Amazon TAM.
- Nei modi di navigazione privata e di blocco intensificato dei contenuti non desiderati (strict) è stata attivata una protezione aggiuntiva per l'intestazione HTTP "Referer". In queste modalità, ai siti è ora vietato includere, tramite l'intestazione HTTP Referrer-Policy, le politiche "no-referrer-when-downgrade", "origin-when-cross-origin" e "unsafe-url", che consentono di eludere le impostazioni predefinite restituendo a siti di terze parti l'URL completo nell'intestazione "Referer". Ricordiamo che in Firefox 87, al fine di bloccare potenziali perdite di dati sensibili, è stata attivata per impostazione predefinita la politica "strict-origin-when-cross-origin", che implica la rimozione di percorsi e parametri dall'"Referer" durante l'invio di una richiesta ad altri host con HTTPS, la trasmissione di un "Referer" vuoto quando si passa da HTTPS a HTTP e la trasmissione dell'intero "Referer" per le transizioni interne all'interno dello stesso sito. Tuttavia, l'efficacia di questa modifica era stata messa in discussione, poiché i siti potevano ripristinare il comportamento precedente tramite manipolazioni con la Referrer-Policy.
- Sulla piattaforma Windows è stata implementata la funzionalità di scarico automatico delle schede dalla memoria quando il livello di memoria libera nel sistema scende a valori critici. In primo luogo, vengono scaricate le schede che consumano la maggior parte della memoria e alle quali l'utente non ha fatto riferimento a lungo. Quando si passa a una scheda scaricata, il suo contenuto viene ricaricato automaticamente. Su Linux, questa funzionalità dovrebbe essere aggiunta in uno dei prossimi aggiornamenti.
- L'aspetto del pannello con l'elenco dei download è stato portato allo stile visivo generale di Firefox.

- In modalità compatta sono stati ridotti i margini tra gli elementi del menu principale, del menu overflow, dei segnalibri e della cronologia delle visite.

- Tra gli algoritmi utilizzabili per l'organizzazione dell'autenticazione (HTTP Authentication) è stato aggiunto SHA-256 (in precedenza era supportato solo MD5).
- Le cifrature TLS che utilizzano l'algoritmo 3DES sono disabilitate di default. Ad esempio, il set di cifrature TLS_RSA_WITH_3DES_EDE_CBC_SHA è vulnerabile all'attacco Sweet32. Il ripristino del supporto per 3DES è possibile con esplicita autorizzazione nelle impostazioni delle vecchie versioni di TLS.
- Sulla piattaforma macOS è stato risolto il problema della perdita di sessioni quando Firefox viene avviato da un file montato '.dmg'.
- È stata implementata un'interfaccia utente per l'inserimento visivo di data e ora per l'elemento di web-form .

- Per gli elementi con attributo aria-label o aria-labelledby è stato implementato il ruolo meter (role="meter"), che consente di realizzare indicatori di valori numerici che variano in un determinato intervallo (ad esempio, gli indicatori di carica della batteria).

- Nello stile CSS font-synthesis è stato aggiunto il supporto per la parola chiave "small-caps".
- È stato implementato il metodo Intl.supportedValuesOf(), che restituisce un array di calendari, valute, sistemi di numerazione e unità di misura supportati.
- Per le classi è stata fornita la possibilità di applicare blocchi statici di inizializzazione per raggruppare il codice eseguito una sola volta durante l'elaborazione della classe: class C { // Il blocco verrà eseguito durante l'elaborazione della classe stessa static { console.log("C's static block"); } }
- È stata aggiunta la supporto per la chiamata HTMLElement.attachInternals per accedere a metodi aggiuntivi di gestione del modulo.
- Nel metodo ElementInternals è stato aggiunto l'attributo shadowRoot, che consente ai propri elementi di accedere alla propria radice separata nel Shadow DOM, indipendentemente dallo stato.
- Nel metodo createImageBitmap() è stata aggiunta la supporto per le proprietà imageOrientation e premultiplyAlpha.
- Aggiunta la funzione globale reportError(), che consente agli script di visualizzare gli errori nella console, emulando l'insorgenza di un'eccezione non gestita.
- Miglioramenti nella versione per la piattaforma Android:
- All'avvio su tablet sono stati aggiunti pulsanti "avanti", "indietro" e "ricarica pagina" nella barra.
- È attivato di default il completamento automatico di username e password nei web form.
- È stata fornita la possibilità di utilizzare Firefox come gestore di password per il completamento di username e password in altre applicazioni (attivabile tramite "Impostazioni" > "Login e password" > "Compilazione automatica in altre app").
- Aggiunta la pagina "Impostazioni" > "Login e password" > "Login salvati" > "Aggiungi login" per aggiungere manualmente le credenziali al gestore di password.
- Aggiunta la pagina "Impostazioni" > "Raccolta dati" > "Studi e disattivazione", che consente di rinunciare a partecipare ai test delle funzionalità sperimentali.
Oltre alle novità e alle correzioni di bug in Firefox 93, sono state risolte 13 vulnerabilità, di cui 10 segnate come pericolose. 9 vulnerabilità (riunite sotto CVE-2021-38500, CVE-2021-38501 e CVE-2021-38499) sono state causate da problemi di gestione della memoria, come overflow di buffer e accesso a aree di memoria già liberate. Questi problemi potrebbero potenzialmente portare all'esecuzione di codice da parte di un attaccante aprendo pagine appositamente formattate.
Nella versione beta di Firefox 94 è stata implementata una nuova pagina di servizio "about:unloads" dove l'utente può forzare il caricamento di determinate schede per ridurre il consumo di memoria, senza chiuderle (il contenuto verrà ricaricato quando si passa alla scheda).
Fonte: opennet.ru






