CVE-2025-10156: bypass di sicurezza in picklescan tramite CRC non valido porta all’esecuzione arbitraria di codice

picklescan è uno strumento di sicurezza progettato per rilevare file pickle di Python malevoli, comunemente utilizzati per serializzare e deserializzare strutture di oggetti Python. È spesso impiegato in applicazioni lato server, in particolare nelle pipeline di Machine Learning Operations (MLOps), per analizzare file caricati dagli utenti come modelli di intelligenza artificiale (ad esempio modelli PyTorch) alla ricerca di minacce incorporate prima che vengano elaborati.

L’impatto di questa vulnerabilità è critico, poiché consente a un attaccante remoto non autenticato di ottenere esecuzione arbitraria di codice, con conseguente compromissione completa del sistema. La vulnerabilità deriva da un difetto progettuale “fail-open”, in cui lo scanner si interrompe in presenza di un errore specifico, portando l’applicazione madre a trattare erroneamente il file maligno come sicuro.

Questa vulnerabilità rappresenta una minaccia significativa per qualsiasi infrastruttura che si affida a picklescan per validare archivi ZIP non affidabili. Considerando che è disponibile un exploit pubblico e la complessità dell’attacco è bassa, i sistemi esposti su Internet che utilizzano questa libreria sono ad alto rischio di sfruttamento attivo. Il problema principale non risiede nell’analisi del pickle stesso, ma nella gestione preliminare del formato contenitore del file (ZIP).

picklescan
2025-12-04 12:46:36

Riassunto tecnico

La causa principale di questa vulnerabilità è una gestione impropria delle condizioni eccezionali all’interno del modulo di parsing degli archivi ZIP di picklescan. Lo scanner non gestisce correttamente gli errori che si verificano quando incontra un file all’interno di un archivio ZIP con un codice CRC (Cyclic Redundancy Check) non valido.

La catena d’attacco si sviluppa come segue:

  1. Un attaccante realizza un file pickle malevolo progettato per eseguire codice arbitrario alla deserializzazione.
  2. L’attaccante incorpora questo file all’interno di un archivio ZIP, corrompendo intenzionalmente il valore CRC associato al file malevolo nei metadati dello ZIP.
  3. Quando picklescan tenta di estrarre e analizzare i contenuti dell’archivio ZIP caricato, incontra il file con CRC non valido.
  4. Questo incontro genera un’eccezione non gestita che provoca la terminazione prematura del processo picklescan.
  5. L’applicazione chiamante interpreta erroneamente questa scansione interrotta come un successo (condizione “fail-open”), assumendo che non sia stato rilevato contenuto malevolo.
  6. Il file validato — ma in realtà malevolo — viene poi passato a un componente dell’applicazione che utilizza pickle.load() o funzione simile. Questo attiva la deserializzazione del pickle malevolo, con esecuzione arbitraria di codice con i permessi del processo applicativo.

Una rappresentazione concettuale della logica difettosa:

# Conceptual Flaw
try:
    # This function halts on a CRC error
    picklescan.scan_zip_archive("malicious_archive.zip")
except Exception as e:
    # The scanner crashes, but the exception is not handled
    # correctly, or the logic flow proceeds as if the scan passed.
    log("Scanner failed, but we will proceed anyway.")

# The malicious file is now processed by another part of the app
process_unscanned_file("malicious_archive.zip")

La vulnerabilità interessa tutte le versioni di picklescan precedenti alla release corretta. Gli utenti devono consultare l’avviso ufficiale del fornitore per informazioni specifiche sulla versione. Un exploit riuscito consente all’attaccante di ottenere il pieno controllo sul server colpito.

Raccomandazioni

  • Applicare la patch immediatamente: aggiornare picklescan all’ultima versione fornita dallo sviluppatore, che risolve questa condizione “fail-open”. Consultare il repository ufficiale del progetto o gli avvisi di sicurezza per i numeri di versione corretti.

  • Implementare la logica “fail-closed”: come mitigazione critica, assicurarsi che qualsiasi applicazione che integra picklescan (o qualsiasi scanner di sicurezza) operi secondo un principio “fail-closed”. Se il processo di scansione restituisce un errore o si interrompe inaspettatamente, il file analizzato deve essere rifiutato e messo in quarantena. Non consentire che la lavorazione prosegua.

  • Threat hunting e monitoraggio:

    • Monitorare i log dell’applicazione alla ricerca di eccezioni o errori relativi all’elaborazione di file ZIP, in particolare per errori CRC o di integrità dati derivanti dalla libreria picklescan.
    • Cercare nei log evidenze che il processo picklescan sia terminato inaspettatamente o non abbia completato una scansione. Correlare questi eventi con attività di upload di file.
    • Creare alert per pattern in cui un caricamento file è seguito da un crash dello scanner e da un’elaborazione immediata dello stesso file.
  • Risposta agli incidenti:

    • Se si sospetta una compromissione, isolare immediatamente l’host colpito dalla rete per evitare movimenti laterali.
    • Conservare il file ZIP sospetto e tutti i log rilevanti dell’applicazione e di sistema per analisi forense. Non tentare di aprire o analizzare il file su una macchina di produzione o personale.
    • Assumere una compromissione completa del sistema e avviare il piano di risposta agli incidenti previsto dall’organizzazione, per identificare l’estensione del breach ed eradicare la minaccia.
  • Difesa in profondità:

    • Eseguire applicazioni che elaborano file non attendibili in ambienti sandbox o containerizzati, con controlli rigidi sulle risorse e sull’accesso alla rete, per limitare il potenziale danno di un’esecuzione di codice riuscita.
    • Applicare il principio del minimo privilegio. Assicurarsi che l’account del servizio che esegue l’applicazione abbia solo i permessi minimi necessari alla sua funzione.

Vuoi garantire la massima sicurezza informatica alla tua azienda? ISGroup SRL è qui per aiutarti con soluzioni di cyber security su misura per la tua azienda.

Vuoi che gestiamo tutto noi per te? Il servizi di Virtual CISO e di gestione delle vulnerabilità sono perfetti per la tua organizzazione.

Hai già le idee chiare su quello che ti serve? Esplora i nostri servizi di:

E molto altro. Proteggi la tua azienda con i migliori esperti di cybersecurity!