CVE-2026-80841 in Linuxinformazioni

Riassunto

di VulDB • 04/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

net/packet: posticipare il rilascio di vmalloc del TX_RING finché gli skbs non sono terminati

Gli skb dell'AF_PACKET TX_RING mantengono un puntatore raw al frame della ring. I riferimenti alle pagine degli skb preservano i blocchi della ring basati su pagina dopo che pg_vec è stato liberato, ma non preservano una mappatura vmalloc.

tpacket_destruct_skb() attualmente rilascia il riferimento pendente prima di scrivere l'timestamp e TP_STATUS_AVAILABLE nel frame. Spostare la decrementazione dopo tali scritture. La smp_wmb() in __packet_set_status() ordina le scritture del frame prima della decrementazione.

Verificare nuovamente i frame TX pendenti sotto pg_vec_lock prima della sostituzione non-chiudente della ring, affinché un invio concorrente (race condition) non possa aggiungere uno skb pendente tra il controllo iniziale e lo swap della ring.

L'allocazione della ring può produrre una miscela di blocchi basati su pagina e blocchi basati su vmalloc. Allocare l'area di archiviazione per deferred-work durante la configurazione del TX ring quando si incontra il primo blocco basato su vmalloc, e mantenere il suo puntatore nell'intestazione dell'allocazione pg_vec. Se l'allocazione fallisce, restituire -ENOMEM dalla configurazione della ring. Alla chiusura del socket, un puntatore non-NULL identifica un vettore basato su vmalloc senza necessità di scansione. Se rimangono TX skb, posticipare l'intero vettore a system_long_wq.

Dopo che pg_vec è stato staccato, un distruttore tardivo può saltare la decrementazione pendente. Utilizzare il contabilità della memoria di scrittura del socket come gate per la durata differita: uno skb rimane addebitato fino al suo sock_wfree() finale, dopo tutti gli accessi ai frame della ring. Il lavoro ritardato mantiene un riferimento al socket e si riprogramma finché non rimangono TX skb.

Spostare il rilascio di pending_refcnt a packet_sock_destruct() in modo che i distruttori skb tardivi e la pulizia differita possano utilizzarlo in sicurezza dopo packet_release(). La teardown basata su pagina rimane sincrona, e nessun lock viene aggiunto al percorso caldo (hot path) del completamento TX.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

26/08/2026

Divulgazione

04/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00166

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!