È 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 di exploit 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:
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.
Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

CybercrimeLe autorità tedesche hanno recentemente lanciato un avviso riguardante una sofisticata campagna di phishing che prende di mira gli utenti di Signal in Germania e nel resto d’Europa. L’attacco si concentra su profili specifici, tra…
InnovazioneL’evoluzione dell’Intelligenza Artificiale ha superato una nuova, inquietante frontiera. Se fino a ieri parlavamo di algoritmi confinati dietro uno schermo, oggi ci troviamo di fronte al concetto di “Meatspace Layer”: un’infrastruttura dove le macchine non…
CybercrimeNegli ultimi anni, la sicurezza delle reti ha affrontato minacce sempre più sofisticate, capaci di aggirare le difese tradizionali e di penetrare negli strati più profondi delle infrastrutture. Un’analisi recente ha portato alla luce uno…
VulnerabilitàNegli ultimi tempi, la piattaforma di automazione n8n sta affrontando una serie crescente di bug di sicurezza. n8n è una piattaforma di automazione che trasforma task complessi in operazioni semplici e veloci. Con pochi click…
InnovazioneArticolo scritto con la collaborazione di Giovanni Pollola. Per anni, “IA a bordo dei satelliti” serviva soprattutto a “ripulire” i dati: meno rumore nelle immagini e nei dati acquisiti attraverso i vari payload multisensoriali, meno…