
Proof-of-concept exploit per CVE-2024-44947, una fuga di informazioni FUSE del kernel Linux. Include dumping della memoria, scansione euristica di pattern per header HTTP/ELF e operazioni FUSE dinamiche per attivare e analizzare perdite di contenuto di pagine oltre EOF.
Descrizione: Nel kernel Linux, è stata risolta la seguente vulnerabilità: fuse: Inizializzare i contenuti delle pagine oltre EOF prima di impostare uptodate fuse_notify_store(), a differenza di fuse_do_readpage(), non abilita lo zeroing delle pagine (perché può essere usato per modificare contenuti parziali della pagina). Quindi fuse_notify_store() deve essere più attento nell'inizializzare completamente i contenuti della pagina (incluse le parti della pagina che sono oltre la fine del file) prima di marcare la pagina come uptodate. Il codice attuale può lasciare non inizializzati i contenuti delle pagine oltre EOF, rendendo questi contenuti di pagina non inizializzati visibili allo spazio utente tramite mmap(). Questa è una fuga di informazioni, ma riguarda solo i sistemi che non abilitano init-on-alloc (tramite CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y o il corrispondente parametro della riga di comando del kernel).
Aumento del dump di memoria: La dimensione del dump di memoria è stata raddoppiata a 8 pagine, fornendo una visione più estesa delle potenziali fughe.
Motore euristico: Introdotto un semplice motore euristico che scansiona la memoria dumpata alla ricerca di pattern specifici, come intestazioni "HTTP", intestazioni "ELF" e altre strutture dati note. Questo aiuta a identificare e categorizzare i dati trapelati in modo più efficace.
Operazioni FUSE migliorate: Aggiunta un'operazione FUSE più complessa con un payload più grande per aumentare le possibilità di attivare la vulnerabilità in varie condizioni.
Randomizzazione ed elementi dinamici: Il PoC include randomizzazione in alcune operazioni per simulare scenari diversi e potenzialmente innescare risultati variati, rendendo l'exploit più robusto.
Analisi dettagliata della memoria: Il PoC ora esegue un'analisi dettagliata del dump di memoria, stampando valori esadecimali e identificando potenziali fughe di dati tramite matching euristico.
gcc -o fuse_poc_advanced fuse_poc_advanced.c
sudo ./fuse_poc_advanced
Questo PoC avanzato è progettato per utenti e ricercatori avanzati, fornendo un framework più completo per investigare e sfruttare la vulnerabilità FUSE. Include elementi dinamici, gestione sofisticata della memoria e analisi euristica, rendendolo adatto per scenari dettagliati di analisi delle vulnerabilità e sfruttamento.