7‑Zip: vulnerabilità di scrittura arbitraria (CVE-2025-55188) e come mitigarla in azienda

7‑Zip: nuova e come mitigarla in azienda

7‑Zip: vulnerabilità di scrittura arbitraria (CVE-2025-55188), rischi reali e strategie di difesa

La vulnerabilità CVE-2025-55188 in 7‑Zip consente a un archivio malevolo di provocare la scrittura arbitraria di file durante l’estrazione, sfruttando una gestione inadeguata dei link simbolici. Questo può portare alla sovrascrittura di file sensibili (per esempio chiavi SSH o file di profilo), con possibili effetti a catena fino all’esecuzione di codice in determinati scenari. La correzione è disponibile in 7‑Zip 25.01. In questo articolo analizziamo come funziona il bug, quali sistemi sono più esposti, come aggiornare e come ridurre il rischio con misure tecniche e processuali.

Cos’è il problema e perché è importante

  • Natura del bug: durante l’estrazione, 7‑Zip non validava correttamente i link simbolici contenuti in alcuni formati di archivio. Un aggressore può creare archivi in cui i symlink puntano a percorsi arbitrari sul filesystem. Quando l’utente estrae, il contenuto può finire scritto in posizioni non previste, anche al di fuori della directory di destinazione.
  • Impatto potenziale:
    • Sovrascrittura di file di configurazione dell’utente (p.es. ~/.bashrc, ~/.zshrc) con comandi malevoli eseguiti alla successiva apertura di shell.
    • Manipolazione di chiavi SSH o file di autorizzazione, con impatti su autenticazione e accessi.
    • Alterazione di script, alias o configurazioni caricate automaticamente da applicazioni o servizi, con escalation del rischio verso esecuzione di codice.
  • Vettore e prerequisiti:
    • È tipicamente un attacco locale con interazione utente: la vittima deve scaricare ed estrarre un archivio malevolo.
    • Su Linux/macOS lo sfruttamento è più diretto, dato l’uso nativo dei link simbolici.
    • Su Windows è possibile, ma richiede condizioni aggiuntive (es. privilegi amministrativi o Developer Mode per creare symlink), riducendo la probabilità ma non eliminando il rischio.

Versioni interessate e patch

  • Versioni interessate: tutte le versioni di 7‑Zip precedenti alla 25.01.
  • Versione corretta: 7‑Zip 25.01 introduce convalide più restrittive dei symlink in fase di estrazione.
  • Possibili modifiche operative: è stato introdotto anche un nuovo switch a riga di comando per gestire eccezioni controllate ai nuovi controlli (utile per ambienti che necessitano comportamenti legacy), ma va usato con cautela e solo in pipeline fidate.

Suggerimento: se usi build portate su Linux/macOS (p7zip o fork), verifica il changelog del maintainer del tuo pacchetto. Alcuni repository potrebbero rilasciare l’aggiornamento con un nome di pacchetto diverso o con un leggero ritardo.

Scenari di attacco concreti

  • Archivio ZIP/TAR/7Z con symlink malevoli:
    • L’archivio contiene un symlink che punta a un percorso sensibile (es. ~/.ssh/authorized_keys).
    • Insieme al symlink è incluso un file che, una volta “risolto” dal tool di estrazione, sovrascrive il target puntato.
    • Risultato: l’aggressore inietta chiavi o comandi, preparando un accesso non autorizzato o l’esecuzione di payload al prossimo avvio di una sessione o di un servizio.
  • Catena con phishing:
    • L’attaccante invia un archivio “apparente” (documentazione, aggiornamenti, fatture).
    • L’utente estrae con 7‑Zip vulnerabile, credendo di operare in sicurezza.
    • La modifica invisibile a file di profilo o chiavi prepara l’ambiente al passaggio successivo (accesso, furto dati, persistenza).

Come verificare se sei vulnerabile

  • Controlla la versione:
    • GUI: apri 7‑Zip e verifica “Aiuto” > “Informazioni”.
    • CLI: esegui 7z -version o 7z i.
    • Sistemi Linux: apt-cache policy p7zip-full o rpm -qi p7zip per capire la versione del pacchetto distributivo.
  • Mappa d’uso:
    • Identifica dove 7‑Zip è usato: postazioni utente, server, job di CI/CD, pipeline ETL, script di manutenzione.
    • Non dimenticare contenitori e immagini: verifica le versioni incluse in Dockerfile e container base.
  • Test controllato:
    • In un ambiente di laboratorio, prova l’estrazione di archivi con symlink “neutri” e verifica che non vengano seguiti al di fuori della directory di destinazione con la versione aggiornata.
    • Verifica i log e le opzioni di estrazione per assicurarti che le misure anti-symlink siano effettive.

Aggiornamento sicuro a 7‑Zip 25.01

  • Windows:
    • Scarica l’installer dal sito ufficiale del progetto 7‑Zip.
    • Disinstalla versioni precedenti solo se richiesto (di norma l’installer effettua l’aggiornamento in-place).
    • In ambienti enterprise, distribuisci via GPO/Intune o strumenti RMM, validando hash e firma.
  • Linux/macOS:
    • Usa i repository ufficiali o i canali del maintainer (attenzione ai fork).
    • In CI/CD aggiorna gli step di build e le immagini base.
    • Esegui una scansione di compliance per individuare residui di versioni legacy.
  • Verifica post-aggiornamento:
    • Conferma la versione installata.
    • Riesegui test di estrazione con archivi che contengono symlink per validare il comportamento corretto.

Mitigazioni immediate (se non puoi aggiornare subito)

  • Isolamento e principio del minimo privilegio:
    • Estrai archivi in directory temporanee isolate, con mount options restrittive (es. noexec,nosuid,nodev dove appropriato).
    • Usa utenti non privilegiati per tutte le operazioni di estrazione.
  • Restrizioni symlink a livello OS:
    • Linux: valuta l’uso di mount “safe” per directory temporanee e l’abilitazione di policy AppArmor/SELinux per confinare il processo di estrazione, impedendo scritture fuori dal path previsto.
    • Windows: evita l’uso di Developer Mode o privilegi che consentono la creazione di symlink per processi non necessari; esegui l’estrazione senza privilegi elevati.
  • Strumenti alternativi per file sospetti:
    • Per archivi da fonti non fidate, utilizza strumenti che offrono opzioni esplicite per rifiutare symlink o “dereferenziare” in modo sicuro, oppure analizza i contenuti prima dell’estrazione con tool che elencano i link simbolici.
    • Valuta l’estrazione in sandbox (VM isolata o contenitore “usa e getta”).
  • Scansione preventiva:
    • Integra antivirus/EDR con scansione di archivi e policy che segnalano presenza di symlink e path traversal (sequenze come ../).
    • Blocca automaticamente l’uso di tool non aggiornati attraverso l’application control.
  • Policy di filiera:
    • Nei gateway email e web, filtra o ispeziona archivi, soprattutto se compressi multipli (zip annidati).
    • Implementa DMARC, DKIM, SPF e formazione anti-phishing per ridurre la probabilità di interazione utente con allegati malevoli.

Buone pratiche operative e consigli

  • Standardizza le opzioni di estrazione:
    • Definisci wrapper o script aziendali per 7‑Zip con flag sicuri preimpostati, impedendo comportamenti rischiosi e offrendo log centralizzati.
    • Documenta e diffondi le procedure: dove estrarre, con quale utente, quali directory usare.
  • Monitoraggio e rilevamento:
    • Log di integrità: monitora file sensibili come ~/.ssh/authorized_keys, file di shell init (bashrc, zshrc), profili applicativi, crontab.
    • Rilevamento di symlink sospetti creati durante o subito dopo l’estrazione.
    • Alert su modifiche anomale a file di configurazione utente o di sistema.
  • Hardening dell’ambiente:
    • Usa filesystem con attributi restrittivi per directory temporanee e di lavoro.
    • Attiva controlli di sicurezza del kernel (LSM come AppArmor/SELinux) con profili che limitano scritture fuori dalla directory target dei processi di estrazione.
    • Separa i profili utente privilegiati dalle attività quotidiane: l’estrazione deve avvenire in contesti non privilegiati.
  • Gestione delle dipendenze:
    • Mantieni un inventario software aggiornato: sapere dove è installato 7‑Zip è essenziale per remediation rapide.
    • Automatizza il patching dove possibile; in assenza di update automatici, crea job programmati per controllare nuove release e distribuire patch.
  • Verifiche periodiche:
    • Esegui penetration test interni focalizzati su vettori basati su archivi, includendo casi con symlink, path traversal e decompressione “zip bomb”.
    • Integra regole nei tuoi scanner SAST/DAST o pipeline di sicurezza per validare tool e opzioni di estrazione utilizzate negli script.

Considerazioni per Windows vs Linux

  • Linux/macOS:
    • Rischio maggiore per via dei symlink ampiamente utilizzati e risolti nativamente.
    • Priorità: aggiornare 7‑Zip, applicare confinamento (AppArmor/SELinux), estrazione con utenze non privilegiate, controlli su file di profilo.
  • Windows:
    • Attacco possibile ma con prerequisiti (privilegi o Developer Mode).
    • Priorità: eseguire sempre come utente standard, evitare l’estrazione con privilegi elevati, disabilitare la capacità di creare symlink dove non necessaria, aggiornare a 25.01.

Checklist rapida di remediation

  • Aggiorna 7‑Zip a 25.01 su tutte le postazioni e server.
  • Blocca l’esecuzione di versioni precedenti tramite application control.
  • Definisci una directory di estrazione dedicata con mount restrittive e nessun privilegio elevato.
  • Integra scansione e ispezione preventiva degli archivi nei gateway e negli endpoint.
  • Monitora file sensibili soggetti a sovrascrittura post-estrazione.
  • Forma gli utenti: non estrarre archivi non richiesti o da mittenti sconosciuti; segnalare allegati sospetti.

Domande frequenti

  • Devo aggiornare se uso 7‑Zip solo in GUI per file “sicuri”?
    • Sì. Il rischio nasce dall’input non affidabile; l’aggiornamento riduce la superficie d’attacco e standardizza comportamenti sicuri.
  • Il problema riguarda solo il formato 7z?
    • No. Il punto è la gestione dei symlink nell’estrazione di formati che li supportano (ZIP, TAR, 7Z, RAR in alcune implementazioni). Aggiornare è la misura correttiva generale.
  • Esistono workaround completi senza aggiornare?
    • Non completamente. Le mitigazioni riducono il rischio ma non sostituiscono la patch nel motore di estrazione.
  • Come capisco se sono già stato colpito?
    • Controlla timestamp e contenuto di ~/.ssh/authorized_keys, file di profilo della shell e altri file sensibili nelle ore successive a estrazioni sospette. Verifica la presenza di symlink anomali e rivedi i log EDR/AV.

Aggiornare a 7‑Zip 25.01 è il passo fondamentale. In parallelo, implementa estrazioni in ambienti confinati, privilegia utenti non amministratori, monitora file sensibili e integra controlli a livello di email gateway ed endpoint. Queste misure, combinate con formazione degli utenti e inventario software accurato, riducono drasticamente la probabilità che un semplice archivio si trasformi in un vettore di compromissione.

Fonte: https://cybersecuritynews.com/7-zip-arbitrary-file-write-vulnerability

Torna in alto