Cyber Posture

CVE-2026-31675

High

Published: 25 April 2026

Published
25 April 2026
Modified
06 May 2026
KEV Added
Patch
CVSS Score 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0001 2.4th percentile
Risk Priority 16 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2026-31675 is a high-severity Out-of-bounds Read (CWE-125) vulnerability in Linux Linux Kernel. Its CVSS base score is 7.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 2.4th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified are NIST 800-53 SI-2 (Flaw Remediation) and SI-10 (Information Input Validation).

Threat & Defense at a Glance

What attackers do: exploitation maps to Exploitation for Privilege Escalation (T1068). What defenders deploy: see the NIST 800-53 controls recommended below.
Threat & Defense Details

Mitigating Controls (NIST 800-53 r5)AI

prevent

Directly mitigates the CVE by requiring timely remediation of the specific kernel flaw through application of patches that add the missing skb_headlen non-zero check.

prevent

Addresses the root cause by mandating validation of inputs such as skb_headlen before using them to generate offsets for memory access, preventing the out-of-bounds condition.

prevent

Mitigates impacts of out-of-bounds memory access through kernel memory protections like randomization and access controls, reducing exploitability even if the flaw triggers.

MITRE ATT&CK Enterprise TechniquesAI

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
Why these techniques?

Local kernel OOB read/write in netem allows low-privileged attacker arbitrary memory access, directly enabling privilege escalation via exploitation of the vulnerability.

Confidence: HIGH · MITRE ATT&CK Enterprise v18.1

NVD Description

In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_netem: fix out-of-bounds access in packet corruption In netem_enqueue(), the packet corruption logic uses get_random_u32_below(skb_headlen(skb)) to select an index for modifying skb->data. When an AF_PACKET TX_RING sends fully non-linear…

more

packets over an IPIP tunnel, skb_headlen(skb) evaluates to 0. Passing 0 to get_random_u32_below() takes the variable-ceil slow path which returns an unconstrained 32-bit random integer. Using this unconstrained value as an offset into skb->data results in an out-of-bounds memory access. Fix this by verifying skb_headlen(skb) is non-zero before attempting to corrupt the linear data area. Fully non-linear packets will silently bypass the corruption logic.

Deeper analysisAI

CVE-2026-31675 is an out-of-bounds memory access vulnerability in the Linux kernel's networking traffic control subsystem, specifically within the sch_netem (netem) queue discipline. The issue arises in the netem_enqueue() function during packet corruption logic, where get_random_u32_below(skb_headlen(skb)) selects a random index for modifying skb->data. When fully non-linear packets are sent via an AF_PACKET TX_RING over an IPIP tunnel, skb_headlen(skb) evaluates to 0. Passing 0 to get_random_u32_below() triggers a slow path that returns an unconstrained 32-bit random integer, which is then used as an offset into skb->data, resulting in an out-of-bounds access. The vulnerability carries a CVSS v3.1 base score of 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).

A local attacker with low privileges can exploit this vulnerability by crafting and sending fully non-linear packets through an AF_PACKET TX_RING over an IPIP tunnel while the netem discipline is configured for packet corruption. This triggers the out-of-bounds access during the corruption attempt, potentially allowing arbitrary memory reads or writes depending on the kernel's memory layout and protections, leading to high impacts on confidentiality, integrity, and availability.

Mitigation involves applying upstream kernel patches, as detailed in the referenced stable commit fixes: 13a66ca1e235d4bcd53d12d4c68490cad7f8e46f, 3a2999704ac36cfb4041fed3652d26a3373e8d12, 4fd258e281fa8bc15e9ce2c7691941537e9258ad, a14b56863348686dd0387eea8ce66b85cf455908, and d64cb81dcbd54927515a7f65e5e24affdc73c14b. These patches add a check to ensure skb_headlen(skb) is non-zero before attempting to corrupt the linear data area, causing fully non-linear packets to silently bypass the corruption logic.

Details

CWE(s)

Affected Products

linux
linux kernel
7.0 · 2.6.16 — 6.6.134 · 6.7 — 6.12.81 · 6.13 — 6.18.22

CVEs Like This One

CVE-2026-23099Same product: Linux Linux Kernel
CVE-2026-23407Same product: Linux Linux Kernel
CVE-2025-71112Same product: Linux Linux Kernel
CVE-2026-43025Same product: Linux Linux Kernel
CVE-2026-43048Same product: Linux Linux Kernel
CVE-2026-31641Same product: Linux Linux Kernel
CVE-2026-31570Same product: Linux Linux Kernel
CVE-2026-23406Same product: Linux Linux Kernel
CVE-2024-57998Same product: Linux Linux Kernel
CVE-2026-31558Same product: Linux Linux Kernel

References