Rilascio di Firefox 147

È stato rilasciato il browser web Firefox 147 e sono stati formati aggiornamenti per le versioni passate con supporto a lungo termine — 140.7.0 e 115.32.0. La versione Firefox 148 è stata portata nella fase di beta testing, il cui rilascio è previsto per il 24 febbraio.

Novità principali in Firefox 147 (1, 2, 3):

  • È stato aggiunto il supporto per la specifica Freedesktop.org XDG Base Directory e la possibilità di utilizzare la directory «~/.config/mozilla» per memorizzare profili, estensioni, impostazioni e database interni. Il supporto per la memorizzazione dei dati nella vecchia directory «~/.mozilla» è mantenuto come opzione, attivabile all'avvio con la variabile d'ambiente «MOZ_LEGACY_HOME=1».
  • È stato aggiunto il supporto per il meccanismo «Compression Dictionary Transport» (RFC 9842), che consente di ridurre la dimensione dei dati trasmessi tra il client e server, grazie all'uso di algoritmi di compressione Zstandard (Content-Encoding: dcz) e Brotli (Content-Encoding: dcb) in combinazione con la compressione di strutture standardizzate attraverso dizionari. Sono disponibili due scenari per l'uso del Compression Dictionary Transport: compressione del contenuto basata su dizionari previamente forniti dal server e utilizzo di contenuti precedentemente trasmessi come dizionario per comprimere una nuova versione (delta-compression, in cui vengono trasmesse solo le modifiche rispetto alla versione esistente).

    Ad esempio, quando si fa una richiesta “GET /index.html”, il server può inviare informazioni sulla disponibilità di un dizionario, restituendo il path nel header ‘Link: ; rel=“compression-dictionary”’. Quando il client carica il dizionario ‘…/dict’, il server fornirà informazioni sul suo utilizzo per i file HTML, tramite l'header ‘Use-As-Dictionary: match=“/*html”’. In una richiesta successiva per una risorsa HTML, come “GET /index2.html”, il client indicherà la disponibilità del dizionario tramite l'header ‘Available-Dictionary: hash_dizionario’. Se il server possiede un dizionario con l’hash fornito, restituirà il contenuto di index2.html, compresso usando quel dizionario.

    Per la compressione delta di diverse versioni dei file JavaScript in risposta alla richiesta "GET /app.v1.js", il server può impostare l'intestazione ‘Use-As-Dictionary: match="/app*js"‘, informando che il contenuto restituito può essere utilizzato in futuro come dizionario per i percorsi "/app*js". In una successiva richiesta di un file corrispondente a questa maschera, ad esempio "GET /app.v2.js", il client invierà l'hash del dizionario attuale tramite l'intestazione "Available-Dictionary:", e il server restituirà solo le differenze tra i file app.v1.js e app.v2.js.

  • Aggiunta la pagina about:keyboard per configurare le combinazioni di tasti e ridefinire le scorciatoie esistenti, ad esempio, per impostare varianti a te più familiari o escludere conflitti con altri programmi.
    Rilascio di Firefox 147
  • Ottimizzata la riproduzione video utilizzando l'accelerazione hardware per la decodifica su GPU AMD. Su sistemi con GPU AMD, i video decodificati in hardware vengono ora riprodotti senza copie dati aggiuntive (modalità zero-copy), come precedentemente realizzato per sistemi con GPU Intel e NVIDIA.
  • Per la versione 5 è stata aggiornata l'implementazione del protocollo Safe Browsing, utilizzato per verificare gli URL riguardo alla presenza in elenchi di risorse non sicure (siti di phishing, pagine con malware, ecc.) forniti da Google. La nuova versione del protocollo permette di caricare liste di blocco da utilizzare sul sistema locale (DB con prefissi hash SHA256 degli URL problematici), ora applicate in Firefox.
  • È stata aggiunta l'opzione per continuare automaticamente la riproduzione video in modalità "picture-in-picture" al cambio di scheda.
  • Nella modalità di protezione avanzata contro il tracciamento delle attività (ETP, Enhanced Tracking Protection => Strict) è attivato di default l'uso della specifica LNA (Local Network Access) per limitare le richieste al sistema locale (loopback, 127.0.0.0/8) o alla rete interna (192.168.0.0/16, 10.0.0.0/8, ecc.) durante l'interazione con i siti pubblici. L'accesso alle risorse interne è sfruttato dagli aggressori per effettuare attacchi CSRF su 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 identificazioni indirette o per la raccolta di informazioni sulla rete locale.
  • Su sistemi Linux con GNOME e server composito Mutter è stato risolto il problema della visualizzazione sfocata dei contenuti quando si utilizza un livello di scala frazionario.
  • Nei computer Apple con chip Apple Silicon e sistema operativo macOS è supportato l'API WebGPU.
  • Le priorità di selezione della lingua negli header HTTP Accept-Language (parametri q) sono sincronizzate con i valori impostati in altri browser, risolvendo alcuni problemi di portabilità. Ad esempio, per la seconda lingua ora viene impostata una priorità q=0.9 invece di q=0.5, e per ogni lingua successiva la priorità diminuisce di 0.1.
  • La libreria ICU è stata aggiornata alla versione 78 con supporto per Unicode 17 e aggiornamenti dei dati locali.
  • L'uso dei moduli JavaScript ESM (ECMAScript Module) è ora consentito nei Service Worker, importati ed esportati tramite le espressioni import ed export.
  • Aggiunto il supporto per la specifica CSS Module Scripts, che consente di utilizzare il sistema di moduli JavaScript per importare risorse CSS. Ad esempio: import styles from "./styles.css" with { type: "css" };
  • Nel pseudo-elemento "::marker", che consente di personalizzare le impostazioni dei numeri e dei punti per gli elenchi nei blocchi
      e
        , è permesso utilizzare le proprietà CSS "counter-*" e "quotes".
      1. Nell'API CompressionStream e DecompressionStream è stato aggiunto il supporto per il formato di compressione Brotli.
      2. Nell'API View Transitions, utilizzato per creare effetti di animazione durante il passaggio tra diversi stati del DOM, è stata aggiunta la proprietà «type», contenente un array con i tipi di transizione. È stato inoltre aggiunto il selettore CSS corrispondente «:active-view-transition-type» e la proprietà document.activeViewTransition, che restituisce un'istanza dell'oggetto ViewTransition attivo per il documento.
      3. È stata inclusa una serie di proprietà CSS per gestire la visualizzazione di elementi legati alla posizione di altri elementi (CSS Anchor Positioning), senza utilizzare JavaScript, ad esempio per fissare elementi di finestre pop-up (popover), che appaiono in modo simile a suggerimenti visivi.
      4. È stata implementata la specifica «Storage Access Headers», che definisce l'intestazione della richiesta «Sec-Fetch-Storage-Access» e l'intestazione della risposta «Activate-Storage-Access» per ottenere accesso ai Cookie di terze parti senza chiamare il metodo document.requestStorageAccess(). Il server può richiedere l'accesso ai Cookie tramite l'intestazione «Activate-Storage-Access» e questo sarà inviato dal client, se in precedenza l'utente ha confermato la concessione di accesso allo storage dei Cookie tramite l'API Storage Access.
      5. Nella proprietà CSS «root-font-relative» è stata aggiunta il supporto per le unità di misura relative rcap, rch, rex e ric.
      6. È stato implementato l'API Navigation, che consente alle web app di intercettare operazioni di navigazione nella finestra, avviare transizioni e analizzare la cronologia delle azioni con l'app. L'API offre un'alternativa alle proprietà window.history e window.location, ottimizzata per le web app a pagina singola.
      7. Negli strumenti per lo sviluppo web, nel pannello delle regole CSS è stata implementata la possibilità di modificare e aggiungere selettori per i pseudo-elementi. Nell'interfaccia per visualizzare i dati in formato JSON è stato aggiunto un pulsante per importare la risorsa nel sistema di profilazione (Firefox Profiler) per determinare informazioni sulle sue dimensioni. Nei pannelli di ispezione degli elementi HTML e delle animazioni è stata garantita la visualizzazione dei pseudo-elementi delle Transizioni di Visualizzazione. Nel pannello delle regole CSS è stata implementata la visualizzazione delle regole @position-try, utilizzate per gestire la visualizzazione degli elementi collegati alla posizione di altri elementi (CSS Anchor Positioning).
      8. Nella versione di Firefox per Android è stata aggiunta protezione contro gli attacchi attraverso canali esterni, come Spectre, utilizzato per eludere l'isolamento tra i siti. In precedenza, una tale protezione era disponibile solo nelle versioni per sistemi desktop.

    Oltre alle novità e alla correzione di bug, Firefox 147 ha risolto 23 vulnerabilità. 10 vulnerabilità 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 consentire l'esecuzione di codice malevolo aprendo pagine appositamente create. 3 vulnerabilità consentono di eludere l'isolamento sandbox a causa di controlli errati delle limitazioni e di overflow di interi nel componente per la grafica.

    Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster