
Questo studio analizza le vulnerabilità di deserializzazione pickle in Python, concentrandosi sulla CVE-2024-3568 in TFAutoModel di Hugging Face Transformers. Riproduciamo l'exploit per esaminarne la causa principale, i vettori di attacco e i rischi.
Introduce il meccanismo di deserializzazione pickle e il principio dell'attacco reduce, riproduce la vulnerabilità di deserializzazione CVE-2024-3568 nella libreria Hugging Face Transformers, analizza i rischi per la sicurezza nella libreria Transformers e propone soluzioni efficaci per il rafforzamento della sicurezza. Per i dettagli, fare riferimento al documento PDF dell'esperimento.
(Il codice dell'autore della PoC è disponibile in CVE-2024-3568 oppure nella cartella author_inf)
Posizione della vulnerabilità
Metodo TFAutoModel.load_repo_checkpoint() (Transformers ≤ v4.37.2)
Principio dell'attacco
Il file extra_data.pickle in un checkpoint dannoso attiva RCE quando viene deserializzato tramite pickle.load()
Impatto
# Le istruzioni di configurazione dettagliate sono nel PDF dell'esperimento
pip install transformers==4.37.2 tensorflow
git clone https://github.com/llm-sec/transformer-hacker
Fare riferimento al documento PDF per i dettagli.
test.py e test2.py riguardano l'analisi del principio (supporto di AI问小白, grazie all'aumento di produttività reso possibile dalle innovazioni tecnologiche).
Generazione del checkpoint dannoso (Per i comandi specifici, vedere il documento PDF)
Attivazione della vulnerabilità (Per gli esempi di codice, vedere il documento PDF)
Verifica dell'attacco (Per i metodi di verifica, vedere il documento PDF)
load_repo_checkpoint()Analisi tecnica dettagliata: Per il principio completo della vulnerabilità, le procedure di sfruttamento e le strategie di difesa, fare riferimento al documento PDF dell'esperimento Implementazione della PoC: il codice dell'autore della PoC è disponibile in CVE-2024-3568 oppure nella cartella author_inf