CVE-2024-57802: netrom: check buffer length before accessing it
In the Linux kernel, the following vulnerability has been resolved:
netrom: check buffer length before accessing it
Syzkaller reports an uninit value read from ax25cmp when sending raw message
through ieee802154 implementation.
=====================================================
BUG: KMSAN: uninit-value in ax25cmp+0x3a5/0x460 net/ax25/ax25_addr.c:119
ax25cmp+0x3a5/0x460 net/ax25/ax25_addr.c:119
nr_dev_get+0x20e/0x450 net/netrom/nr_route.c:601
nr_route_frame+0x1a2/0xfc0 net/netrom/nr_route.c:774
nr_xmit+0x5a/0x1c0 net/netrom/nr_dev.c:144
__netdev_start_xmit include/linux/netdevice.h:4940 [inline]
netdev_start_xmit include/linux/netdevice.h:4954 [inline]
xmit_one net/core/dev.c:3548 [inline]
dev_hard_start_xmit+0x247/0xa10 net/core/dev.c:3564
__dev_queue_xmit+0x33b8/0x5130 net/core/dev.c:4349
dev_queue_xmit include/linux/netdevice.h:3134 [inline]
raw_sendmsg+0x654/0xc10 net/ieee802154/socket.c:299
ieee802154_sock_sendmsg+0x91/0xc0 net/ieee802154/socket.c:96
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
____sys_sendmsg+0x9c2/0xd60 net/socket.c:2584
___sys_sendmsg+0x28d/0x3c0 net/socket.c:2638
__sys_sendmsg net/socket.c:2667 [inline]
__do_sys_sendmsg net/socket.c:2676 [inline]
__se_sys_sendmsg net/socket.c:2674 [inline]
__x64_sys_sendmsg+0x307/0x490 net/socket.c:2674
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Uninit was created at:
slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768
slab_alloc_node mm/slub.c:3478 [inline]
kmem_cache_alloc_node+0x5e9/0xb10 mm/slub.c:3523
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560
__alloc_skb+0x318/0x740 net/core/skbuff.c:651
alloc_skb include/linux/skbuff.h:1286 [inline]
alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6334
sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2780
sock_alloc_send_skb include/net/sock.h:1884 [inline]
raw_sendmsg+0x36d/0xc10 net/ieee802154/socket.c:282
ieee802154_sock_sendmsg+0x91/0xc0 net/ieee802154/socket.c:96
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
____sys_sendmsg+0x9c2/0xd60 net/socket.c:2584
___sys_sendmsg+0x28d/0x3c0 net/socket.c:2638
__sys_sendmsg net/socket.c:2667 [inline]
__do_sys_sendmsg net/socket.c:2676 [inline]
__se_sys_sendmsg net/socket.c:2674 [inline]
__x64_sys_sendmsg+0x307/0x490 net/socket.c:2674
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
CPU: 0 PID: 5037 Comm: syz-executor166 Not tainted 6.7.0-rc7-syzkaller-00003-gfbafc3e621c3 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
=====================================================
This issue occurs because the skb buffer is too small, and it's actual
allocation is aligned. This hides an actual issue, which is that nr_route_frame
does not validate the buffer size before using it.
Fix this issue by checking skb->len before accessing any fields in skb->data.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Security readout for executives and security teams
Plain-English summary
A Linux kernel networking flaw lets an undersized packet buffer reach NET/ROM processing, causing the kernel to read uninitialized data. The supplied score is critical (CVSS 9.4), but public evidence shows a Syzkaller-detected bug, not confirmed attacks. Business risk depends heavily on whether affected kernels and the implicated networking protocols are present.
Executive priority
Treat this as urgent on Linux systems using the implicated NET/ROM, AX.25, or IEEE 802.15.4 paths. Patch promptly after compatibility testing. For systems without those paths, verify configuration and vendor backport status before assuming equivalent exposure. The supplied evidence does not show exploitation in the wild.
Technical view
The NET/ROM function nr_route_frame reads fields from skb->data without first confirming skb->len is sufficient. An undersized, allocation-aligned socket buffer can therefore cause ax25cmp to consume uninitialized data. The record classifies this as CWE-908; the published fix adds length checks before field access.
Likely exposure
Potential exposure exists on affected Linux kernel lines where NET/ROM, AX.25, and the IEEE 802.15.4 raw-message path are available or used. The bundle spans multiple stable series, but its flattened version list does not establish precise vulnerable ranges. Verify distribution advisories, package versions, and backports.
Exploitation context
The bundle marks KEV false, and no supplied source documents active exploitation or a public weaponized exploit. Discovery came from Syzkaller and KMSAN testing. The CVSS vector indicates network access without privileges or interaction, but the sources do not document practical prerequisites, attack range, or demonstrated consequences beyond the uninitialized read.
Researcher notes
The trace reaches nr_route_frame through IEEE 802.15.4 raw_sendmsg and records an uninitialized read in ax25cmp. Allocation alignment masked the undersized buffer. Severity metadata claims high confidentiality and availability impact plus low integrity impact, but the narrative does not demonstrate those outcomes; treat them as scoring assertions.
Mitigation direction
Upgrade to a vendor-supported kernel containing the applicable upstream stable fix or an authenticated vendor backport.
Apply relevant distribution security updates, including Debian LTS updates where those advisories match deployed packages.
If patching is delayed, obtain vendor-supported mitigations; the supplied sources do not name a workaround.
Prioritize remediation where the implicated networking protocol paths are enabled or operationally required.
Validation and detection
Inventory exact kernel builds and compare package versions with the applicable vendor security advisory.
Confirm the running kernel includes an applicable listed fix commit or documented distribution backport.
Determine whether NET/ROM, AX.25, and IEEE 802.15.4 support is built, loaded, or used.
After updating, verify the new kernel is running and the affected package was replaced.
Review available kernel diagnostics for uninitialized-read reports involving nr_route_frame or ax25cmp.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-908: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-908 · source CWE mapping
Use of Uninitialized Resource
Use of Uninitialized Resource represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.