Rilascio di Firefox 147

È stato rilasciato il browser web Firefox 147 e sono state formate le aggiornamenti delle versioni precedenti con supporto a lungo termine — 140.7.0 e 115.32.0. La versione Firefox 148 è entrata in fase di beta testing, con 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 cartella «~/.config/mozilla» per la memorizzazione di profili, estensioni, impostazioni e database interni. Il supporto per la memorizzazione dei dati nella vecchia cartella «~/.mozilla» è stato mantenuto come opzione, attivabile avviando 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 trasferiti tra il client e server, utilizzando algoritmi di compressione Zstandard (Content-Encoding: dcz) e Brotli (Content-Encoding: dcb) in combinazione con la compressione di strutture standard utilizzando dizionari. Sono disponibili due scenari per l'utilizzo di Compression Dictionary Transport — compressione del contenuto basata su dizionari precedentemente forniti dal server e utilizzo del contenuto precedentemente fornito come dizionario per comprimere una nuova versione (compressione delta, in cui vengono trasmesse solo le modifiche rispetto alla versione esistente).

    Ad esempio, nella richiesta «GET /index.html» il server può inviare informazioni sulla disponibilità di un dizionario, restituendo il percorso in intestazione ‘Link: ; rel="compression-dictionary"‘. Quando il client scarica il dizionario «…/dict», il server fornirà informazioni sul suo utilizzo rispetto ai file HTML, impostando l'intestazione ‘Use-As-Dictionary: match="/*html"‘. Nella successiva richiesta di una risorsa html, ad esempio, «GET /index2.html», il client indicherà la disponibilità del dizionario attraverso l'intestazione ‘Available-Dictionary: hash_dizionario‘. Se il server ha un dizionario con quell'hash, restituirà il contenuto di index2.html compresso utilizzando quel dizionario.

    Per la compressione delta di diverse versioni di 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 successivamente utilizzato come dizionario per i percorsi «/app*js». Nella richiesta successiva di un file corrispondente a questo modello, ad esempio «GET /app.v2.js», il client trasmetterà l'hash del dizionario attuale tramite l'intestazione «Available-Dictionary:», e il server restituirà solo le modifiche tra i file app.v1.js e app.v2.js.

  • È stata aggiunta la pagina about:keyboard per configurare le combinazioni di tasti e ridefinire le scorciatoie esistenti, ad esempio per impostare opzioni più familiari o per evitare conflitti con altri programmi.
    Rilascio di Firefox 147
  • Ottimizzata la riproduzione di video utilizzando l'accelerazione hardware per la decodifica su GPU AMD. Nei sistemi con GPU AMD, i video decodificati hardware vengono ora riprodotti senza ulteriori copie di dati (modalità zero-copy), come era già stato implementato per i sistemi con GPU Intel e NVIDIA.
  • Per la versione 5, è stata aggiornata l'implementazione del protocollo Safe Browsing, utilizzato per verificare gli URL rispetto alle liste di risorse non sicure (siti di phishing, pagine con malware, ecc.) fornite da Google. La nuova versione del protocollo consente di scaricare liste di blocco da utilizzare sul sistema locale (DB con prefissi hash SHA256 degli URL problematici), che ora vengono applicati in Firefox.
  • È stata aggiunta l'opzione per la riproduzione automatica dei video in modalità "nella finestra" quando si cambia scheda.
  • In modalità di protezione avanzata contro il monitoraggio dei movimenti (ETP, Enhanced Tracking Protection => Strict) è attivato di default l'utilizzo 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 le interazioni con siti pubblici. L'accesso alle risorse interne viene utilizzato dai malintenzionati 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 l'identificazione indiretta o la raccolta di informazioni sulla rete locale.
  • Nei sistemi Linux con GNOME e il server composito Mutter è stato risolto il problema di visualizzazione sfocata dei contenuti durante l'uso di livelli di scalatura frazionari.
  • Nei computer Apple con chip Apple Silicon e sistema operativo macOS è stata attivata la supporto per l'API WebGPU.
  • Le priorità di selezione della lingua (parametri q) impostate nell'intestazione HTTP Accept-Language sono state sincronizzate con i valori impostati da 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 aggiornamento dei dati delle località.
  • Negli Service Worker è stato consentito l'uso dei moduli JavaScript ESM (ECMAScript Module), importati ed esportati tramite le espressioni import ed export.
  • È stato aggiunto il supporto per la specifica CSS Module Scripts, che consente di utilizzare il sistema dei moduli JavaScript per importare risorse CSS. Ad esempio: import styles from "./styles.css" with { type: "css" };
  • Nell'elemento pseudo "::marker", che consente di personalizzare i parametri di numeri e punti per elenchi nei blocchi
      e
        , è consentito utilizzare le proprietà CSS "counter-*" e "quotes".
      1. Nell'API CompressionStream e DecompressionStream è stata aggiunta la supporto per il formato di compressione Brotli.
      2. Nell'API View Transitions, utilizzata per creare effetti di animazione durante il passaggio tra diversi stati del DOM, è stata aggiunta la proprietà "type", che contiene un array di tipi di transizioni. È 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. È stato attivato un insieme di proprietà CSS per gestire la visualizzazione degli elementi legati alla posizione di altri elementi (CSS Anchor Positioning), senza utilizzo di JavaScript, ad esempio, per ancorare a elementi popup (popover), che appaiono analogamente ai suggerimenti.
      4. È stata realizzata la specifica "Storage Access Headers", che definisce l'intestazione di richiesta "Sec-Fetch-Storage-Access" e l'intestazione di risposta "Activate-Storage-Access" per ottenere accesso a cookie di terze parti senza attivare il metodo document.requestStorageAccess(). Il server può richiedere accesso ai cookie tramite l'intestazione "Activate-Storage-Access" e questo verrà inviato dal client se in precedenza l'utente ha confermato il consenso all'accesso allo storage dei cookie tramite l'API Storage Access.
      5. Nella proprietà CSS "root-font-relative" è stato aggiunto il supporto per le unità di misura relative rcap, rch, rex e ric.
      6. È stata implementata l'API Navigation, che consente alle applicazioni web di intercettare le operazioni di navigazione nella finestra, avviare una transizione e analizzare la cronologia delle azioni nell'applicazione. L'API offre un'alternativa alle proprietà window.history e window.location, ottimizzata per le applicazioni web a pagina singola.
      7. Negli strumenti per sviluppatori web, nel pannello delle regole CSS, è stata implementata la possibilità di modificare e aggiungere selettori per i pseudo-elementi. Nell'interfaccia per la visualizzazione dei dati in formato JSON è stato aggiunto un pulsante per importare la risorsa nel sistema di profilazione (Firefox Profiler) per determinare le informazioni sulla sua dimensione. Nei pannelli di ispezione degli elementi HTML e dell'animazione è stato reso disponibile il display degli pseudo-elementi View Transitions. Nel pannello con le regole CSS è stata implementata la visualizzazione delle regole @position-try, utilizzate per gestire la visualizzazione degli elementi legati alla posizione di altri elementi (CSS Anchor Positioning).
      8. Nella versione di Firefox per Android è stata aggiunta la protezione dagli attacchi tramite canali esterni, come Spectre, utilizzato per eludere l'isolamento tra i siti. In precedenza, tale protezione era disponibile solo per le versioni desktop.

    Oltre alle novità e alle correzioni di bug, in Firefox 147 sono state risolte 23 vulnerabilità. 10 vulnerabilità sono state causate da problemi di gestione della memoria, come buffer overflow e accesso a aree di memoria già liberate. Potenzialmente, questi problemi possono portare all'esecuzione di codice da parte di un malintenzionato all'apertura di pagine appositamente formattate. 3 vulnerabilità consentono di eludere l'isolamento sandbox a causa di controlli dei limiti errati e di overflow di interi nel componente di elaborazione grafica.

    Fonte: opennet.ru

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