Rilasciate XZ Utils 5.8: Miglioramenti prestazionali e nuove funzionalità

XZ Utils è un’implementazione open source completa del formato di compressione .xz, scritta in linguaggio C99 (standard del linguaggio C rilasciato nel 1999). Distribuito con licenza GNU General Public License (GPL), questo strumento offre algoritmi di compressione avanzati basati su LZMA (Lempel-Ziv-Markov chain Algorithm) e LZMA2, diventando uno standard de facto per la compressione di file nei sistemi GNU/Linux.
XZ Utils è un’implementazione open source completa del formato di compressione .xz, scritta in linguaggio C99 (standard del linguaggio C rilasciato nel 1999). Distribuito con licenza GNU General Public License (GPL), questo strumento offre algoritmi di compressione avanzati basati su LZMA (Lempel-Ziv-Markov chain Algorithm) e LZMA2, diventando uno standard de facto per la compressione di file nei sistemi GNU/Linux. Tuttavia, nel 2024 è emerso un grave problema di sicurezza legato all’infiltrazione di codice malevolo nel progetto:
- Backdoor CVE-2024-3094: una vulnerabilità critica (gravità CVSS 10) ha permesso l’esecuzione remota di codice arbitrario (RCE) attraverso un’interazione con OpenSSH, sfruttando un collegamento indiretto tra le funzionalità di compressione e il protocollo SSH.
- Tecnica di inserimento: il codice malevolo è stato introdotto tramite modifiche graduali nelle versioni tarball del software, evitando il repository software GitHub pubblico. L’attaccante ha sfruttato oggetti binari offuscati nascosti nei file di test, utilizzando funzioni IFUNC per dirottare la risoluzione dei simboli.
- Impatto sistemico: la backdoor avrebbe potuto compromettere server SSH globali, inclusi quelli di infrastrutture critiche, permettendo accessi non autorizzati e installazione di malware senza richiedere credenziali.
- Fattori umani: l’attaccante ha guadagnato la fiducia della comunità open source attraverso social engineering e contributi apparentemente legittimi, sfruttando la mancanza di supervisione in un progetto mantenuto da un singolo sviluppatore.
Cronologia degli eventi:
- Gennaio 2022: Jia Tan inizia a contribuire al progetto XZ Utils, acquisendo credibilità iniziale attraverso contributi regolari di codice e la partecipazione della comunità.
- Settembre 2023: le prime modifiche al codice vengono introdotte segretamente nella base di codice attraverso contributi apparentemente legittimi.
- Dicembre 2023: viene rilasciata la versione 5.6.0 contenente il meccanismo backdoor incorporato, che rappresenta la prima versione compromessa.
- Febbraio 2024: viene rilasciata la versione 5.6.1, che mantiene la backdoor ma aggiunge funzionalità aggiuntive per mascherarne la presenza.
- 29 marzo 2024: l’ingegnere Microsoft Andres Freund scopre la violazione dopo aver identificato modelli sospetti nella CPU durante il monitoraggio di routine del sistema.
- 30 marzo 2024: viene emesso un avviso di sicurezza di emergenza, che avvisa la comunità della vulnerabilità critica (CVE-2024-3094).
- Aprile 2024: viene rilasciata la versione 5.6.2 come patch di emergenza, rimuovendo la backdoor e implementando misure di sicurezza aggiuntive.
- Maggio 2024: le principali distribuzioni Linux completano i processi di patching di emergenza, tra cui Ubuntu, Debian e Red Hat Enterprise Linux.
La scoperta avvenuta a fine marzo 2024 ha evidenziato rischi legati alla catena di approvvigionamento del software open source, dimostrando come un componente apparentemente neutro possa diventare un vettore di attacchi ad alto impatto. Fortunatamente, grazie a un intervento tempestivo della comunità open source e a un’analisi forense approfondita, la vulnerabilità è stata identificata e risolta prima che potesse causare danni significativi:
- Risoluzione rapida: entro 48 ore dalla segnalazione, è stata rilasciata una patch correttiva (versione 5.6.2) che ha ripristinato l’integrità del codice, con un coordinamento tra sviluppatori, distributori GNU/Linux e organizzazioni di sicurezza.
- Collaborazione globale: il team di manutenzione ha lavorato con CERT/CC e GitHub Security Lab per verificare l’assenza di backdoor residue, utilizzando strumenti come CodeQL per l’analisi statica del codice.
- Misure preventive: sono state introdotte nuove politiche di sicurezza, tra cui firma digitale obbligatoria per i rilasci ufficiali e code review incrociata tra sviluppatori indipendenti, riducendo il rischio di manipolazioni future.
L’evento ha dimostrato sia i pericoli della dipendenza da componenti critici non verificati, sia la resilienza del modello open source quando supportato da collaborazione e trasparenza.
Novità in XZ Utils 5.8
Dopo la grave crisi legata alla backdoor CVE-2024-3094, XZ Utils ha ripreso il suo sviluppo con rinnovato impegno nella sicurezza e nelle prestazioni, raggiungendo oggi la versione XZ Utils 5.8. Questo aggiornamento introduce miglioramenti significativi in termini di efficienza e compatibilità, con ottimizzazioni mirate per diverse architetture di processori e nuove funzionalità tecniche.
Miglioramenti prestazionali
La libreria liblzma
riceve importanti ottimizzazioni:
- Sistemi x86/x86-64: Miglioramento dello 0-5% nella velocità di decompressione con GCC
- Fino al 15% di velocità in più su sistemi che utilizzano la libreria standard
musl libc
- Processori PowerPC a 64-bit: Miglioramenti nell’encoder LZMA/LZMA2
- Architettura RISC-V a 64-bit: Supporto ottimizzato per accessi non allineati veloci
- LoongArch: Implementazione di istruzioni CRC32 per calcoli più rapidi
Nuove API e funzionalità
- Aggiunte API di basso livello per filtri BCJ su RISC-V, ARM64 e x86
- Nuova opzione
--no-sync
per disabilitare la sincronizzazione prima dell’eliminazione dei file - Supporto per Landlock ABI 5 e 6 su sistemi Linux
- Riscrittura del codice CLMUL CRC per x86/x86-64/E2K con miglioramenti prestazionali
Sicurezza e usabilità
- Sostituzione automatica di caratteri non stampabili con punti interrogativi nei messaggi
- Protezione contro sequenze di escape maligne nei nomi dei file
- Sincronizzazione dei file di output tramite
fsync()
prima dell’eliminazione degli input
Deprecazioni e traduzioni
- Segnalati come deprecati gli script alias LZMA Utils (lzcmp, lzdiff, etc.)
- Aggiornamenti alle traduzioni in croato, italiano, portoghese e rumeno
- Revisione delle pagine
man
in tedesco, italiano, coreano, rumeno, serbo e ucraino
Dettagli tecnici
L’ottimizzazione per architetture diverse sfrutta le specifiche istruzioni dei processori moderni:
- PowerPC/RISC-V: Sfruttamento degli accessi non allineati veloci
- LoongArch: Utilizzo di istruzioni dedicate per il calcolo CRC32
- ARM64: Miglioramenti al codice CRC32 e filtri BCJ
Le ottimizzazioni includono anche:
- Supporto a CMake 3.20
- Coesistenza di versioni assembly legacy con rilevamento a runtime
- Compatibilità estesa con diverse librerie standard C
La nuova opzione --no-sync
offre maggiore controllo sulle operazioni I/O, mentre il supporto a Landlock migliora la sicurezza nei sistemi GNU/Linux moderni.
XZ Utils 5.8 è disponibile per il download dal sito ufficiale.
Fonte: https://www.phoronix.com/news/XZ-5.8-Released
Fonte: https://9to5linux.com/xz-utils-5-8-introduces-performance-improvements-in-the-lzma-lzma2-decoder
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.






Una risposta
[…] Source: Read More […]