CVE-2026-52937
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A Linux flaw can let a local user read small pieces of sensitive kernel memory that may help them break into the system when combined with another bug.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Data Exposure
- Component
- OS kernel
- Class
- Information Disclosure
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This is a local Linux kernel information disclosure in the tap/macvtap ioctl handling path. When a process issues SIOCGIFHWADDR against an affected tap/macvtap character device, the kernel copies a sockaddr_storage-derived hardware-address structure back to user space after only partially initializing it. For Ethernet devices, the address family and 6-byte MAC address are initialized, but 8 trailing bytes may contain leftover kernel stack data. Those leaked bytes can include kernel text or direct-map pointers, which may allow an attacker to bypass kernel address space layout randomization (KASLR) and make a separate kernel memory-corruption exploit more reliable. The flaw does not directly provide privilege escalation or code execution by itself, but it can materially weaken kernel exploit mitigations.
Why it matters to the business
The primary risk is that a user or workload with access to affected tap/macvtap devices can obtain sensitive kernel memory layout information and use it to support a follow-on kernel compromise. In hosting, virtualization, container, network-appliance, or multi-user Linux environments where untrusted users or guests can interact with tap/macvtap interfaces, this can increase the likelihood of successful privilege escalation. The currently provided EPSS is low and it is not listed as CISA KEV or ransomware-associated, but kernel information leaks should still be remediated because they are commonly used as building blocks in exploit chains.
How an attack unfolds
An attacker first obtains local execution on a Linux system where affected kernel code is present and where the attacker can open or otherwise interact with a tap/macvtap character device. The attacker opens the relevant device, prepares an ifreq-style request, and repeatedly invokes the SIOCGIFHWADDR ioctl. The vulnerable kernel path returns a hardware-address structure containing the expected address family and MAC bytes plus uninitialized trailing stack bytes. The attacker parses these returned bytes looking for values that resemble kernel pointers. Once a usable kernel address is recovered, the attacker can infer the kernel address layout, reduce or eliminate KASLR uncertainty, and then combine that knowledge with a separate kernel vulnerability that requires address knowledge for reliable exploitation.
How to fix it
Upgrade to a Linux kernel version that includes the tap_ioctl() fix that initializes the sockaddr_storage structure before copying it to user space. If vendor fixed package versions are available for the distribution in use, apply the vendor kernel update and reboot into the patched kernel; merely installing a kernel package is not sufficient until systems are running the fixed kernel. Where immediate patching is not possible, reduce exposure by restricting access to tap/macvtap character devices, limiting creation of macvtap/tap interfaces to trusted administrators, reviewing permissions on /dev/tap* and /dev/net/tun, and reducing untrusted local or containerized workloads on affected hosts. These mitigations reduce exploitability but do not remove the vulnerable code path.
How to confirm the fix worked
Confirm remediation by verifying that systems are booted into a kernel build containing the upstream or vendor fix for the tap SIOCGIFHWADDR stack initialization issue. Validate the running kernel version with standard OS tooling such as uname and distribution package metadata, then compare it to the vendor advisory or fixed kernel package. On high-assurance systems, test with a controlled reproducer that invokes SIOCGIFHWADDR on an authorized tap/macvtap device and confirms that no nonzero or pointer-like trailing bytes are returned beyond the initialized hardware-address fields. Also review device permissions to ensure untrusted users cannot access tap/macvtap devices unnecessarily.
Typical attack path
- Gain local code execution as an unprivileged user, compromised service account, container process, or guest-facing process with access to tap/macvtap functionality.
- Open an accessible tap/macvtap character device or otherwise reach the vulnerable tap ioctl handling path.
- Issue SIOCGIFHWADDR ioctl requests and collect the returned hardware-address structure.
- Extract the uninitialized trailing bytes returned to user space.
- Identify leaked kernel pointer values and derive kernel base or direct-map address information.
- Use the recovered address information to improve the reliability of a separate kernel exploit or mitigation bypass.
How to detect it
There is typically no durable on-disk artifact created by successful exploitation because the leaked data is returned directly to the calling process. Detection should focus on telemetry showing access to tap/macvtap devices and ioctl calls using SIOCGIFHWADDR. Useful sources include auditd syscall logs, eBPF syscall tracing, EDR process telemetry, shell history where available, device access logs, and container/runtime audit events. Look for unexpected processes opening /dev/tap* or /dev/net/tun followed by ioctl request 0x8927, high-frequency repeated SIOCGIFHWADDR calls, or activity by users and workloads that do not normally manage network interfaces. If suspicious activity is found, expand the investigation to local privilege-escalation indicators, unusual kernel exploit tooling, unexpected setuid files, newly loaded kernel modules, abnormal crashes, and post-exploitation behavior. Absence of these logs does not prove non-exploitation, because many Linux systems do not audit ioctl arguments by default.
- SIOCGIFHWADDR
- 0x8927
- ioctl request=0x8927
- ioctl cmd=0x8927
- /dev/tap
- /dev/net/tun
- macvtap
- tap_ioctl
What your security team should do
- Prioritize patching Linux systems that host virtualization, container networking, network simulation, VPN, SDN, or multi-tenant workloads where tap/macvtap devices are more likely to be present or accessible.
- Inventory hosts with tap/macvtap usage and review permissions on /dev/tap*, /dev/net/tun, and related network device management capabilities.
- Apply the vendor kernel update and reboot into the fixed kernel; track systems that have installed but not yet booted the patched kernel.
- Use auditd, eBPF, or endpoint telemetry to look for unusual ioctl activity using SIOCGIFHWADDR, especially from unexpected processes or users.
- Treat evidence of repeated SIOCGIFHWADDR probing against tap/macvtap devices as potential exploit-chain reconnaissance, and investigate for accompanying local privilege-escalation activity.
- Because this is not currently KEV-listed and has low EPSS, align remediation with kernel patch cycles unless affected systems expose tap/macvtap access to untrusted local users or workloads, in which case accelerate remediation.
The record
In the Linux kernel, the following vulnerability has been resolved: tap: fix stack info leak in tap_ioctl() SIOCGIFHWADDR In the SIOCGIFHWADDR path, tap_ioctl() copies 16 bytes of an uninitialised on-stack struct sockaddr_storage to userspace via ifr_hwaddr, but netif_get_mac_address() only writes sa_family and dev->addr_len (6 for Ethernet) bytes, leaving sa_data[6..13] uninitialised. Those 8 trailing bytes leak kernel stack contents; SIOCGIFHWADDR on a macvtap chardev returns kernel .text and direct-map pointers, defeating KASLR. Initialise ss at declaration.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-119286 GraphQL-core is a Python port of the GraphQL.js reference implementation. CWE-401
- CVE-2026-116157 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in PerlMagick that fails… CWE-401
- CVE-2026-116158 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in the magick compare… CWE-401
- CVE-2026-116159 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the… CWE-401
- CVE-2026-116156 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak caused by a… CWE-401
- CVE-2026-116151 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the JNG… CWE-401
- CVE-2026-116155 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the… CWE-401
- CVE-2026-116152 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in the MAT decoder that… CWE-401