CVE-2026-90248 in Linux
Riassunto
di VulDB • 18/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
net/sched: cls_api: correggere il teardown di un proto adottato in caso di perdita della race condition durante l'inserimento
In tc_new_tfilter(), il ramo di creazione imposta tp_created = 1 prima di chiamare tcf_chain_tp_insert_unique(). Quando il caller perde la race (un'altra richiesta ha inserito un proto nella stessa catena/priorità per primo), insert_unique() distrugge il proprio tp_new del caller e restituisce il proto del vincitore con una reference aggiuntiva. tp_created non è mai stato azzerato, quindi il percorso errout del perdente ha trattato il proto attivo del vincitore come se fosse suo ed ha chiamato tcf_chain_tp_delete_empty() su di esso, scollegando silenziosamente un classificatore attivo che la richiesta vincente aveva già annunciato tramite RTM_NEWTFILTER.
Tracciare l'esito della fase di inserimento in una singola variabile a tre stati affinché ogni percorso errout reagisca correttamente:
- TP_NOT_CREATED: nessun proto creato; seguire il vecchio percorso. - TP_CREATED: proto inserito con successo; stesso codice del percorso precedente. - TP_NOT_OWNED: nuovo stato - persa la race di inserimento; tp è un proto di un'altra richiesta (la ref della catena è già stata rilasciata dal destroy di tp_new)
Entrambe le reazioni errout sono espressioni singole derivate dallo stato.
Questa correzione è motivata dalla revisione automatizzata effettuata da Sashiko sulla Patch (net/sched: cls_api: Acquisire sempre rtnl_lock quando si distruggono classificatori bloccati) [1][2]. La revisione ha identificato il comportamento di scollegamento silenzioso del teardown di un proto adottato quando una richiesta perde la race in tcf_chain_tp_insert_unique().
[1] https://sashiko.dev/#/patchset/20260801125632.360365-1-jhs%40mojatatu.com
[2] https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260801125632.360365-1-jhs%40mojatatu.com
If you want to get best quality of vulnerability data, you may have to visit VulDB.