CVE-2022-49814 in Linuxinformazioni

Riassunto

di VulDB • 18/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

kcm: risoluzione delle condizioni di competizione (race conditions) su sk_receive_queue

sk->sk_receive_queue è protetta dal lock della coda degli skb, ma per i socket KCM il percorso RX utilizza mux->rx_lock per proteggere non solo la coda degli skb. Tuttavia, kcm_recvmsg() acquisisce ancora solo il lock della coda degli skb, quindi le condizioni di competizione persistono.

Potremmo istruire kcm_recvmsg() ad acquisire anche mux->rx_lock, ma ciò introdurrebbe un potenziale regresso delle prestazioni poiché la struct kcm_mux può essere condivisa da più socket KCM.

Pertanto, dobbiamo imporre il lock della coda degli skb in requeue_rx_msgs() e gestire con cura il caso di peek degli skb in kcm_wait_data(). Fortunatamente, skb_recv_datagram() gestisce già questa situazione in modo appropriato ed è ampiamente utilizzato da altri socket; possiamo quindi passare a skb_recv_datagram() dopo aver rimosso il lock sock non necessario in kcm_recvmsg() e kcm_splice_read(). Nota a margine: SOCK_DONE non è utilizzato dai socket KCM, quindi è sicuro rimuovere anche questo controllo.

Ho eseguito il riproduttore originale di syzbot per 30 minuti senza riscontrare alcun problema.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

01/05/2025

Divulgazione

01/05/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00133

KEV

no

Attività

molto basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!