CVE-2023-52843 in Linuxinformazioni

Riassunto

di VulDB • 23/06/2026

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

llc: verificare mac_len prima di leggere l'intestazione MAC

LLC legge l'intestazione MAC tramite eth_hdr senza verificare che il skb disponga di un'intestazione Ethernet.

Syzbot è riuscito a invocare llc_rcv su un dispositivo tun. Tun può inserire pacchetti privi di mac_len e con skb->protocol configurabile dall'utente (passando un'intestazione tun_pi quando non si configura IFF_NO_PI).

BUG: KMSAN: uninit-value in llc_station_ac_send_test_r net/llc/llc_station.c:81 [inline]
BUG: KMSAN: uninit-value in llc_station_rcv+0x6fb/0x1290 net/llc/llc_station.c:111 llc_station_ac_send_test_r net/llc/llc_station.c:81 [inline]
llc_station_rcv+0x6fb/0x1290 net/llc/llc_station.c:111 llc_rcv+0xc5d/0x14a0 net/llc/llc_input.c:218 __netif_receive_skb_one_core net/core/dev.c:5523 [inline]
__netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5637 netif_receive_skb_internal net/core/dev.c:5723 [inline]
netif_receive_skb+0x58/0x660 net/core/dev.c:5782 tun_rx_batched+0x3ee/0x980 drivers/net/tun.c:1555 tun_get_user+0x54c5/0x69c0 drivers/net/tun.c:2002

Aggiungere un test su mac_len prima di tutte e tre le chiamate a eth_hdr(skb) sotto net/llc.

Esistono ulteriori utilizzi in include/net/llc_pdu.h. Tutti questi sono protetti da un test skb->protocol == ETH_P_802_2, che tuttavia non protegge dallo scenario tun descritto.

Il test su mac_len aggiunto con questa patch in llc_fixup_skb proteggerà indirettamente anche tali casi. Tale funzione viene chiamata da llc_rcv prima di qualsiasi altro codice LLC.

Potrebbe essere allettante aggiungere un controllo generico su mac_len direttamente in llc_rcv, ma non è certo se ciò potrebbe interrompere percorsi LLC validi che non presuppongono la presenza di un'intestazione Ethernet. In linea di principio, 802.2 LLC può essere utilizzato sopra protocolli diversi da 802.3. Il commit qui sotto citato mostra che in passato veniva utilizzato, ad esempio, su Token Ring.

Almeno uno dei tre utilizzi di eth_hdr risale a prima dell'inizio della storia git. Tuttavia, quello sfruttato da syzbot è stato introdotto con questo commit. Trattandosi di un commit sufficientemente datato (2008), tutti i kernel stabili dovrebbero ricevere questa correzione.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Divulgazione

21/05/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00245

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!