CVE-2026-74577 in Linuxinfo

Zusammenfassung

von VulDB • 15.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net: mpls: Initialisierung von rtm_tos in mpls_getroute()

mpls_getroute() erstellt die RTM_NEWROUTE-Antwort auf eine RTM_GETROUTE-Anforderung, indem es ein aus einem skb zugewiesenes struct rtmsg mit Daten füllt, dessen Datenbereich nicht auf Null gesetzt ist (alloc_skb(NLMSG_GOODSIZE, ...)). Dabei werden alle Felder des Headers außer rtm_tos festgelegt:

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;

Da struct rtmsg keine Auffüllung (Padding) enthält, wird das eine nicht initialisierte Byte rtm_tos (Offset 3) bei recvmsg() direkt in den Benutzerbereich kopiert und gibt ein Byte uninitialisierter Heap-Speicherinhalte preis. Dies steht im Gegensatz zu mpls_dump_route(), welches denselben Header füllt und dabei rtm_tos = 0 setzt.

rtm_tos wird auf 0 initialisiert, um mit mpls_dump_route() übereinzustimmen.

Der Fehler wurde mit KMSAN reproduziert, indem eine MPLS-Route hinzugefügt und ein RTM_GETROUTE für deren Label ausgegeben wurde (ohne das Flag RTM_F_FIB_MATCH):

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) + rtmsg-Offset 3 = rtm_tos)

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

Zuständig

Linux

Reservieren

15.08.2026

Veröffentlichung

15.08.2026

Moderieren

akzeptiert

Eintrag

VDB-390895

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!