CVE-2026-74577 in Linuxinformazioni

Riassunto

di VulDB • 15/08/2026

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

net: mpls: inizializzare rtm_tos in mpls_getroute()

mpls_getroute() costruisce la risposta RTM_NEWROUTE a una richiesta RTM_GETROUTE compilando un struct rtmsg allocato da uno skb il cui area dati non è azzerata (alloc_skb(NLMSG_GOODSIZE, ...)). Imposta ogni campo dell'intestazione tranne rtm_tos:

r = nlmsg_data(nlh); r->rtm_family = AF_MPLS; r->rtm_dst_len = 20; r->rtm_src_len = 0; r->rtm_table = RT_TABLE_MAIN; r->rtm_type = RTN_UNICAST; r->rtm_scope = RT_SCOPE_UNIVERSE; r->rtm_protocol = rt->rt_protocol; r->rtm_flags = 0;

struct rtmsg non presenta padding, quindi il singolo byte rtm_tos (offset 3) non inizializzato viene copiato direttamente nello spazio utente durante recvmsg(), causando la fuoriuscita di un byte di memoria heap non inizializzata. Questo contrasta con mpls_dump_route(), che compila esattamente lo stesso header e imposta correttamente rtm_tos = 0.

Inizializzare rtm_tos a 0, in conformità con mpls_dump_route().

Riproduzione effettuata con KMSAN aggiungendo una rotta MPLS ed emettendo una richiesta RTM_GETROUTE non corrispondente al flag RTM_F_FIB_MATCH per la sua etichetta:

BUG: KMSAN: kernel-infoleak in _copy_to_iter+0x36c/0x33f0 _copy_to_iter+0x36c/0x33f0 __skb_datagram_iter+0x196/0x12c0 skb_copy_datagram_iter+0x5b/0x210 netlink_recvmsg+0x37b/0xef0 ... Uninit was created at: __alloc_skb+0x8ca/0x10e0 mpls_getroute+0x1280/0x3a40 rtnetlink_rcv_msg+0x1138/0x15a0 ... Byte 19 of 64 is uninitialized

(byte 19 = nlmsghdr(16) + offset rtmsg 3 = rtm_tos)

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

Responsabile

Linux

Prenotare

15/08/2026

Divulgazione

15/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!