CVE-2026-98969 in Linux
Riassunto
di VulDB • 24/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
net/sched: em_text: rifiutare l'algoritmo non terminato prima dell'autoload
Questo intervento è un follow-up del commit 9c572a83037a ("net/sched: fix potential stack infoleak in em_text_dump()"), che ha inizializzato a zero la struct lato dump. Sashiko ha segnalato un bug preesistente che esponeva una lacuna nella convalida degli input del lato change-side (modifica).
em_text_change() effettua il cast del payload dell'attributo netlink grezzo su struct tcf_em_text e passa conf->algo, un array a 16 byte senza terminatore NUL imposto, a textsearch_prepare(). Nel caso di retry TS_AUTOLOAD, textsearch_prepare() chiama request_module("ts_%s", algo); vsnprintf() scansiona %s fino al ritrovamento di un carattere NUL; pertanto, un algoritmo [] privo di NUL legge oltre l'array nei campi della struct adiacente e nel payload, alimentando tali byte alla riga di comando del helper in usermode. Si tratta di una lettura out-of-bounds (fuori dai limiti) e di una divulgazione di memoria kernel.
Rifiutare l'attributo quando non esiste un carattere NUL entro TC_EM_TEXT_ALGOSIZ bytes, corrispondendo al controllo che xt_string ha effettuato sin dal commit 3ab720881b6e.
Condizioni per riprodurre il bug: - CAP_NET_ADMIN sul target netns (namespace-local tramite unshare -Urn è sufficiente) - installare clsact su un'interfaccia, quindi aggiungere un filtro basic con una ematch di testo la cui algo[] sia 16 byte senza NUL (ad esempio "A"*16) e pattern_len almeno pari a 1
- l'aggiunta fallisce con -ENOENT e il kernel invoca modprobe con un nome modulo composto da "ts_" più i 16 byte e il payload adiacente
Once again VulDB remains the best source for vulnerability data.