CVE-2024-38538: net: bridge: xmit: make sure we have at least eth header len bytes
In the Linux kernel, the following vulnerability has been resolved:
net: bridge: xmit: make sure we have at least eth header len bytes
syzbot triggered an uninit value[1] error in bridge device's xmit path
by sending a short (less than ETH_HLEN bytes) skb. To fix it check if
we can actually pull that amount instead of assuming.
Tested with dropwatch:
drop at: br_dev_xmit+0xb93/0x12d0 [bridge] (0xffffffffc06739b3)
origin: software
timestamp: Mon May 13 11:31:53 2024 778214037 nsec
protocol: 0x88a8
length: 2
original length: 2
drop reason: PKT_TOO_SMALL
[1]
BUG: KMSAN: uninit-value in br_dev_xmit+0x61d/0x1cb0 net/bridge/br_device.c:65
br_dev_xmit+0x61d/0x1cb0 net/bridge/br_device.c:65
__netdev_start_xmit include/linux/netdevice.h:4903 [inline]
netdev_start_xmit include/linux/netdevice.h:4917 [inline]
xmit_one net/core/dev.c:3531 [inline]
dev_hard_start_xmit+0x247/0xa20 net/core/dev.c:3547
__dev_queue_xmit+0x34db/0x5350 net/core/dev.c:4341
dev_queue_xmit include/linux/netdevice.h:3091 [inline]
__bpf_tx_skb net/core/filter.c:2136 [inline]
__bpf_redirect_common net/core/filter.c:2180 [inline]
__bpf_redirect+0x14a6/0x1620 net/core/filter.c:2187
____bpf_clone_redirect net/core/filter.c:2460 [inline]
bpf_clone_redirect+0x328/0x470 net/core/filter.c:2432
___bpf_prog_run+0x13fe/0xe0f0 kernel/bpf/core.c:1997
__bpf_prog_run512+0xb5/0xe0 kernel/bpf/core.c:2238
bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
__bpf_prog_run include/linux/filter.h:657 [inline]
bpf_prog_run include/linux/filter.h:664 [inline]
bpf_test_run+0x499/0xc30 net/bpf/test_run.c:425
bpf_prog_test_run_skb+0x14ea/0x1f20 net/bpf/test_run.c:1058
bpf_prog_test_run+0x6b7/0xad0 kernel/bpf/syscall.c:4269
__sys_bpf+0x6aa/0xd90 kernel/bpf/syscall.c:5678
__do_sys_bpf kernel/bpf/syscall.c:5767 [inline]
__se_sys_bpf kernel/bpf/syscall.c:5765 [inline]
__x64_sys_bpf+0xa0/0xe0 kernel/bpf/syscall.c:5765
x64_sys_call+0x96b/0x3b50 arch/x86/include/generated/asm/syscalls_64.h:322
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Security readout for executives and security teams
Plain-English summary
CVE-2024-38538 is a Linux kernel bridge networking flaw. A malformed, too-short network buffer could reach the bridge transmit path and trigger use of uninitialized data. The public sources show a kernel fix and Debian LTS notice, but do not provide CVSS, confirmed exploitation, or business-impact details.
Executive priority
Treat this as a kernel maintenance item for bridge-heavy environments, not as an emergency internet-facing incident based on current evidence. Prioritize patch verification on container, virtualization, and network infrastructure hosts because kernel networking bugs can have broad operational blast radius.
Technical view
The bug is in net/bridge/br_device.c br_dev_xmit. syzbot triggered KMSAN uninitialized-value reporting with an skb shorter than ETH_HLEN. The fix validates that the Ethernet header length can be pulled before proceeding, causing undersized packets to be dropped as PKT_TOO_SMALL.
Likely exposure
Exposure is most relevant to Linux systems using bridge networking, such as virtualization, container, or network-host roles. The provided trace involves BPF test-run and bridge transmit code, but the sources do not define required privileges, remote reachability, or exact exploit preconditions.
Exploitation context
CISA KEV status is false in the bundle, and no cited source states active exploitation. Evidence is from syzbot testing, not public in-the-wild exploitation. The public record does not establish exploitability beyond triggering the kernel bug condition.
Researcher notes
The key condition is an skb shorter than ETH_HLEN entering br_dev_xmit. The stack trace shows BPF test-run and clone redirect paths, but source evidence does not prove practical exploitation requirements. Validate by code/version mapping, not by attempting offensive reproduction.
Mitigation direction
Update Linux kernels to vendor releases containing the referenced stable fixes.
Check Debian LTS guidance if running affected Debian kernel packages.
Prioritize bridge-networking hosts over general workstations during assessment.
Monitor vendor advisories for distribution-specific fixed package versions.
Avoid direct wrangler-style assumptions; use only kernel or distribution guidance.
Validation and detection
Inventory Linux kernel versions across hosts and appliances.
Identify systems using Linux bridge networking or loaded bridge modules.
Map installed kernels against vendor advisories and stable fix commits.
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.
cve · low confidence lookup
CVE-2024-38538 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.