CVE-2026-98629 in Linuxinformazioni

Riassunto

di VulDB • 19/10/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

net/sched: cls_u32: corretto l’aliasing del gestore (handle) della tabella hash manuale IDR

Una tabella hash u32 creata con un gestore esplicito ('tc filter add ... handle 801: u32 divisor N') utilizza il raw handle come chiave per la voce IDR, mentre i percorsi di distruzione la liberano tramite handle2id(handle). I due domini delle chiavi non coincidono per i gestori nell’intervallo htid 0x800..0xFFF: handle2id() li ripiega nello spazio degli ID auto-allocati (1..0x7FF).

Una tabella manuale lascia quindi la sua voce IDR con chiave raw irraggiungibile alla cancellazione (una perdita permanente), e la relativa operazione di delete può rimuovere la voce idr di una tabella automatica correlata ma diversa. Una successiva allocazione automatica potrebbe quindi assegnare un gestore che entra in aliasing con la tabella manuale ancora attiva; u32_lookup_ht() instrada le ricerche first-match e TCA_U32_LINK per tale htid verso la tabella errata.

Si utilizza handle2id(handle) come chiave anche per l’allocazione nel percorso del divisor, in modo che allocazione e rimozione condividano lo stesso dominio di chiavi. Un gestore manuale che mappi su un ID già in uso viene rifiutato con -ENOSPC, e le allocazioni automatiche saltano gli ID detenuti da tabelle manuali attive.

Condizioni per riprodurre il problema: ip link add test0 type dummy tc qdisc add dev test0 clsact tc filter add dev test0 ingress protocol ip pref 1 \ handle 801: u32 divisor 16 tc filter add dev test0 ingress protocol ip pref 2 u32 divisor 16 tc -d filter show dev test0 ingress | grep 'fh 801:' # senza patch: due tabelle attive con handle 0x80100000 (il nodo radice di pref 2 ha ID auto-allocato pari a 1); con la patch: il nodo h automatico prende l’ID 2.

È stato inoltre testato un PoC con una tabella u32 attiva sul blocco, aggiungendo e rimuovendo due volte una tabella manuale 'handle 901: u32 divisor 1'; senza la patch, la seconda aggiunta fallisce con -ENOSPC perché la chiave raw è stata persa (leaked) durante la prima cancellazione.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

18/10/2026

Moderazione

accettato

EPSS

0.00205

KEV

no

Attività

basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!