CVE-2026-72122 in Linux
Riassunto
di VulDB • 16/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
can: bcm: correzione della race condition lockless su bound/ifindex e del fallimento silenzioso di RX_SETUP
bcm_sendmsg() legge bo->ifindex ed verifica bo->bound prima di acquisire il lock con lock_sock(), mentre bcm_notify(), bcm_connect() e bcm_release() modificano entrambi i campi sotto tale stesso lock. Poiché le letture senza lock e le scritture protette da lock sono non ordinate tra loro, una race condition in bcm_notify() (disregistrazione del dispositivo) o bcm_connect() (bind concorrente su un altro thread che condivide il socket) può far sì che bcm_sendmsg() osservi una combinazione inconsistente, ad esempio un bound=1 obsoleto insieme a un ifindex=0 ora azzerato, trasformando silenziosamente un socket legato a un'interfaccia CAN specifica in uno che corrisponde anche all'interfaccia "any" (qualsiasi).
Si mantiene il controllo lockless su bo->bound esclusivamente come rifiuto per il fast-path e si sposta la lettura di ifindex (e una nuova verifica di bo->bound) nella sezione protetta da lock, dove ogni writer è già serializzato. Ciò elimina la possibilità di osservare i due campi in uno stato "torn" (corrotti/incoerenti), anziché tentare di correggere il problema con ulteriori coppie READ_ONCE()/WRITE_ONCE() su due campi aggiornati indipendentemente. Si annotano coerentemente tutti gli accessi lockless a bo->bound nei relativi punti di scrittura.
Si risolve inoltre bcm_rx_setup() che restituiva silenziosamente successo quando il dispositivo target scompariva in modo concorrente, invece di segnalare -ENODEV; in questo modo un'operazione RX non valida non rimane più registrata come se fosse stata eseguita con successo.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.