Vulnerabilità Critica nel Kernel Linux: Una nuova Escalation di Privilegi
È stata scoperta una vulnerabilità critica di tipo double free nel modulo pipapo set
del sottosistema NFT del kernel Linux. Un aggressore senza privilegi può sfruttare questa vulnerabilità inviando un messaggio netlink
appositamente predisposto, innescando un errore double-free con elevata stabilità. L’aggressore può sfruttare le tecniche diexploit del kernel per ottenere un’escalation locale dei privilegi.
La vulnerabilità risiede nella funzione nft_add_set_elem che si trova in net/netfilter/nf_tables_api.c, dove una variabile stack non inizializzata struct nft_set_elem elem diventa la fonte del difetto di sicurezza. Gli analisti di SSD hanno riportato che il problema si verifica quando l’opzione di configurazione CONFIG_INIT_STACK_ALL_ZERO è disabilitata, lasciando dati non inizializzati sullo stack che contaminano la chiave dell’elemento durante l’elaborazione.
Il percorso del codice vulnerabile elabora i dati NFTA_SET_ELEM_KEY forniti dall’utente, ma inizializza la memoria solo fino alla lunghezza della chiave (klen), lasciando il contenuto del buffer rimanente con dati dello stack non inizializzati. Questa memoria non inizializzata contiene in genere puntatori da precedenti chiamate di funzioni del kernel, che attivano la condizione di doppia liberazione quando il set pipapo tenta di rimuovere elementi.
Il processo di exploit prevede una sofisticata tecnica di heap exploitation che consente di bypassare KASLR e stabilire una primitiva di scrittura arbitraria. La vulnerabilità riguarda le versioni del kernel Linux dalla 5.6-rc1 alla 6.13-rc3 e richiede configurazioni specifiche del kernel, tra cui:
- CONFIG_INIT_STACK_ALL_ZERO=n
- CONFIG_NETFILTER=y
- CONFIG_NF_TABLES=y
- CONFIG_USER_NS=y
Questa vulnerabilità presenta rischi significativi per la sicurezza poiché fornisce una primitiva double-free affidabile che può essere sfruttata per l’escalation dei privilegi locali. L’attacco raggiunge un’elevata stabilità attraverso tecniche di forza bruta che identificano le lunghezze ottimali delle chiavi per attivare il bug su configurazioni specifiche del kernel.
Strategie di mitigazione efficaci includono l’abilitazione dell’opzione di compilazione del kernel CONFIG_INIT_STACK_ALL_ZERO, che inizializza le variabili locali a zero e impedisce la contaminazione dei dati non inizializzati. Inoltre, applicando la patch disponibile dal team di sviluppo di Netfilter si affronta la causa principale inizializzando correttamente la struttura elem.
L'articolo Vulnerabilità Critica nel Kernel Linux: Una nuova Escalation di Privilegi proviene da il blog della sicurezza informatica.
Gazzetta del Cadavere reshared this.