CVE-2026-74577 in Linuxinformación

Resumen

por VulDB • 2026-08-16

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

net: mpls: inicializar rtm_tos en mpls_getroute()

mpls_getroute() construye la respuesta RTM_NEWROUTE a una solicitud RTM_GETROUTE rellenando un struct rtmsg asignado desde un skb cuya zona de datos no está puesta a cero (alloc_skb(NLMSG_GOODSIZE, ...)). Establece todos los campos del encabezado excepto 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 no tiene relleno (padding), por lo que el único byte sin inicializar, rtm_tos (desplazamiento 3), se copia directamente al espacio de usuario en recvmsg(), filtrando un byte de memoria heap sin inicializar. Esto contrasta con mpls_dump_route(), que rellena exactamente el mismo encabezado y sí establece rtm_tos = 0.

Inicialice rtm_tos a 0, coincidiendo con mpls_dump_route().

Reproducido con KMSAN añadiendo una ruta MPLS e issuing (emitiendo) un RTM_GETROUTE no-RTM_F_FIB_MATCH para su etiqueta:

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: (Se creó sin inicializar en:) __alloc_skb+0x8ca/0x10e0 mpls_getroute+0x1280/0x3a40 rtnetlink_rcv_msg+0x1138/0x15a0 ... Byte 19 of 64 is uninitialized (El byte 19 de 64 está sin inicializar)

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

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-15

Moderación

aceptado

Artículo

VDB-390895

CPE

listo

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Do you know our Splunk app?

Download it now for free!