CVE-2026-31396: 
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2026-31396 is a use-after-free vulnerability in the Linux kernel's macb (Cadence MAC) network driver affecting PTP (Precision Time Protocol) clock handling. The flaw arises because the PTP clock is registered on every interface open and destroyed on every close, but can still be accessed via the ethtool get_ts_info ioctl while the interface exists in the kernel — even after the clock has been freed. Affected kernel versions span from 4.11 through multiple stable branches, with fixes targeting versions before 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.78, 6.18.20, and 6.19.10, as well as 7.0 release candidates (GitHub Advisory). It carries a CVSS v3.1 base score of 7.8 (High) (GitHub Advisory).

Technical details

The root cause is a use-after-free (CWE-416) in drivers/net/ethernet/cadence/macb_main.c. The PTP clock object is allocated during macb_open() via gem_ptp_init() → ptp_clock_register(), and freed during macb_close() via gem_ptp_remove() → ptp_clock_unregister(). However, macb_get_ts_info() / gem_get_ts_info() — invoked through the ethtool ETHTOOL_GET_TS_INFO ioctl path — can access the now-freed PTP clock structure by calling ptp_clock_index(), resulting in a KASAN-detected use-after-free read. Exploitation requires local access and low privileges (e.g., ability to issue ioctl calls on a network socket), and the race condition is triggered by closing the network interface while a concurrent get_ts_info call is in progress (GitHub Advisory).

Impact

Successful exploitation can result in kernel memory disclosure (confidentiality impact), kernel memory corruption (integrity impact), or a kernel panic/crash causing denial of service (availability impact). In a worst-case scenario, if the freed PTP clock memory is reallocated and controlled by an attacker, arbitrary kernel code execution may be achievable, potentially enabling full system compromise or privilege escalation. The vulnerability is confined to systems using Cadence GEM/macb network hardware or drivers, limiting the affected asset scope primarily to embedded Linux systems, certain ARM-based platforms, and QEMU environments emulating this hardware (GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time (GitHub Advisory). The vulnerability was discovered via kernel fuzzing (syzbot, as indicated by the syz.0.6 task in the KASAN trace). The EPSS score is approximately 0.024% (0.000240), indicating a very low near-term exploitation probability. The CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution is available.

Exploitation steps

  1. Identify target: Confirm the target system uses a Cadence macb/GEM network driver (common on embedded ARM platforms or QEMU with Q35+ICH9 emulation) and runs an unpatched kernel version.
  2. Gain local access: Obtain a low-privileged local shell on the target system (e.g., via SSH, container escape, or physical access).
  3. Open the network interface: Bring up the macb/GEM network interface (e.g., ip link set eth0 up) to trigger macb_open(), which registers the PTP clock via gem_ptp_init().
  4. Race condition setup: In one thread or process, close the interface (ip link set eth0 down) to trigger macb_close() → gem_ptp_remove() → ptp_clock_unregister(), freeing the PTP clock object.
  5. Trigger use-after-free: Concurrently, in another thread, issue an ethtool ETHTOOL_GET_TS_INFO ioctl (e.g., ethtool -T eth0) on the interface. This calls macb_get_ts_info() → gem_get_ts_info() → ptp_clock_index(), accessing the freed PTP clock memory.
  6. Achieve impact: Depending on timing and heap state, this results in a kernel crash (DoS), kernel memory disclosure, or — if freed memory is reallocated with attacker-controlled data — potential kernel code execution.

Indicators of compromise

  • Logs: Kernel logs (dmesg) showing BUG: KASAN: use-after-free in ptp_clock_index+0x47/0x50 drivers/ptp/ptp_clock.c:426; kernel panic or oops traces referencing gem_get_ts_info, macb_get_ts_info, or __ethtool_get_ts_info.
  • Process: Repeated or rapid ethtool invocations (process name ethtool or syz.*) coinciding with interface up/down cycling on macb/GEM interfaces.
  • Network: Unusual or rapid toggling of macb/GEM network interface state (repeated NETDEV_UP/NETDEV_DOWN events visible in kernel logs).
  • File System: Presence of fuzzing tools or exploit scripts targeting /dev/net or issuing SIOCETHTOOL ioctls on the system.

Mitigation and workarounds

Apply the latest Linux kernel stable updates containing the fix for this vulnerability. Patched versions include 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.78, 6.18.20, and 6.19.10; patches are available via the kernel stable tree (GitHub Advisory). The fix implements proper reference counting and lifecycle management of the PTP clock object to prevent premature deallocation. As a temporary workaround where patching is not immediately possible, restrict access to ethtool operations via filesystem permissions (e.g., limiting CAP_NET_ADMIN) or use network namespaces to reduce exposure to untrusted local users. Debian has also issued updated kernel packages incorporating this fix (Debian Tracker).

Community reactions

The vulnerability was announced via the Linux kernel CVE announcement mailing list (lore.kernel.org) on April 3, 2026, and subsequently tracked by Yocto Project security advisories across multiple messages. Tenable published Nessus detection plugins (IDs 304976 and 318288) for this CVE. No significant public researcher commentary or social media discussion beyond standard vulnerability tracking has been observed.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

linux: 6.1.170-1

Fixed

sid

linux: 6.19.10-1

Fixed

trixie

linux: 6.12.85-1

Fixed

Ubuntu

Fixed

bionic (fips-updates)

linux-fips

Affected

bionic (fips)

linux-fips

Affected

devel

linux

Not Affected

focal

linux-azure-fde-5.15

Not Affected

focal (esm-infra)

linux-hwe-5.15: 5.15.0-186.196~20.04.1

Fixed

focal (fips-updates)

linux-fips

Affected

focal (fips)

linux-fips

Affected

jammy

linux: 5.15.0-186.196

Fixed

RHEL / CentOS

Affected

RHEL 8

Not Affected

RHEL 9

Not Affected

RHEL 10

Not Affected

Source: This report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-99082HIGH8.8
  • Linux Kernel logoLinux Kernel
  • linux-kvm
NoYesOct 23, 2026
CVE-2026-99087NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-raspi-5.4
NoYesOct 23, 2026
CVE-2026-99086NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-64k-modules-partner
NoYesOct 23, 2026
CVE-2026-99085NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-gcp-fips
NoYesOct 23, 2026
CVE-2026-99084NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-nvidia-bos
NoYesOct 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management