CVE-2026-52985
NoneCVSS
—
EPSS
0.1%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A rarely used Linux network testing component could accidentally expose small pieces of system memory unless the kernel is updated or the component is disabled.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- High
- Impact
- Data Exposure
- Component
- OS kernel
- Class
- Information Disclosure
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This is an information-disclosure flaw in the Linux kernel netdevsim driver. The vulnerable code builds a dummy socket buffer and reserves space for an IPv4 header using an allocation path that does not zero-initialize the full struct iphdr. As a result, bytes from previously used kernel memory may be copied into the generated packet metadata or exposed through netdevsim/devlink trap handling. The issue is limited to the netdevsim simulation driver path and does not by itself provide code execution or privilege escalation.
Why it matters to the business
The likely operational risk is low for most production systems because netdevsim is primarily a kernel network-device simulation/testing driver and is not commonly enabled in production. If the module is available and can be loaded or configured by an attacker with sufficient local privileges, it may allow limited leakage of kernel memory contents, which could aid follow-on exploitation or weaken kernel hardening. The vulnerability is not listed in CISA KEV, is not associated with ransomware use, has very low EPSS likelihood, and has no known mature public exploit based on the provided data.
How an attack unfolds
An attacker first needs access to a Linux system where the vulnerable kernel includes the netdevsim driver and where the attacker can load or interact with that driver, typically requiring local administrative capabilities such as module-loading permission, CAP_NET_ADMIN, or access to devlink/network namespace configuration. The attacker then creates or configures a simulated netdevsim device and triggers the code path that builds a dummy sk_buff for trap handling. Because the IPv4 header memory is not fully initialized before use, the resulting packet structure may contain residual kernel memory bytes. The attacker attempts to read or observe the generated trap packet or related metadata to recover those bytes. Practical exploitation is constrained by required privileges, driver availability, and the limited amount and unpredictability of leaked data.
How to fix it
Upgrade to a Linux kernel build that includes the fix changing the affected netdevsim dummy sk_buff allocation from skb_put to skb_put_zero, ensuring the full IPv4 header is zero-initialized. If exact distribution package versions are not available, use the latest security update from the applicable Linux distribution or kernel vendor and verify that it contains the upstream fix titled "netdevsim: zero initialize struct iphdr in dummy sk_buff." As mitigation, unload and disable the netdevsim module where it is not required, prevent unprivileged module loading, restrict CAP_NET_ADMIN and devlink access, and avoid exposing kernel testing/simulation drivers on production systems.
How to confirm the fix worked
Confirm the running kernel version or vendor changelog includes the netdevsim fix for zero-initializing struct iphdr in nsim_dev_trap_skb_build. On source-based or custom kernels, verify that the affected code uses skb_put_zero rather than skb_put when allocating the dummy IPv4 header. Check whether netdevsim is currently loaded with commands such as lsmod or by inspecting /sys/module/netdevsim. Validate mitigation by confirming netdevsim cannot be loaded by unprivileged users and that module-loading and network-administration capabilities are restricted. After patching, reboot into the fixed kernel and confirm the active kernel is the updated one.
Typical attack path
- Gain local access to a Linux host running a vulnerable kernel build.
- Confirm that the netdevsim driver is present, built in, or loadable as a kernel module.
- Obtain or abuse privileges needed to load/configure netdevsim, devlink, or relevant network namespace functionality.
- Create/configure a netdevsim device and trigger devlink trap or dummy sk_buff generation paths.
- Collect observable packet/trap output and inspect fields derived from the uninitialized IPv4 header.
- Use any leaked kernel memory bytes to support further reconnaissance or exploit-development attempts.
How to detect it
There are no highly reliable remote indicators for exploitation because this issue is local/configuration-dependent and affects generated kernel network simulation data. To look for possible prior abuse, review audit, kernel, shell, sudo, and endpoint telemetry for unexpected loading or use of the netdevsim module, devlink commands, creation of simulated network devices, or privileged container activity with CAP_NET_ADMIN. Relevant log sources include auditd logs, systemd journal, kernel ring buffer, EDR process telemetry, command history where available, and container runtime logs. Focus on unusual activity by non-administrative users, unexpected module loads, or netdevsim usage on production hosts where it should not be used. Also review kernel sanitizer or diagnostic logs for KMSAN/KASAN-style reports mentioning nsim_dev_trap_skb_build or uninitialized values, though such logs are more likely in test kernels than production builds.
- netdevsim
- modprobe netdevsim
- insmod netdevsim
- rmmod netdevsim
- /sys/module/netdevsim
- /sys/bus/netdevsim
- devlink dev
- devlink trap
- nsim_dev_trap_skb_build
- KMSAN: uninit-value
- uninit-value originating from nsim_dev_trap_skb_build
- skb_put_zero
- struct iphdr in dummy sk_buff
What your security team should do
- Prioritize routine kernel patching rather than emergency response unless netdevsim is enabled on sensitive or multi-user systems.
- Inventory systems where the netdevsim module is present, loaded, built into the kernel, or used for network testing automation.
- Disable or block-load netdevsim on production systems that do not explicitly require it.
- Restrict CAP_NET_ADMIN, devlink usage, privileged containers, and kernel module loading to trusted administrators only.
- Review recent local administrative activity for unexpected netdevsim module loads or simulated network device creation.
- For custom kernels, backport the specific skb_put_zero fix and rebuild/redeploy the kernel.
- Monitor vendor advisories for exact fixed package versions if using distribution-managed kernels.
The record
In the Linux kernel, the following vulnerability has been resolved: netdevsim: zero initialize struct iphdr in dummy sk_buff Syzbot reports a KMSAN uninit-value originating from nsim_dev_trap_skb_build, with the allocation also being performed in the same function. Fix this by calling skb_put_zero instead of skb_put to guarantee zero initialization of the whole IP header.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|