Skip to main content

Linux Kernel EUVDEUVD-2026-59069

| CVE-2026-72111 HIGH
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-vhcf-p8jc-x5f6
8.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
8.8 HIGH

Local BPF loading requires PR:L (CAP_BPF); attacker controls program construction so AC:L; S:C reflects BPF verifier escape into kernel memory.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
SUSE
6.7 MEDIUM
AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 06:55 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
8.8 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
HIGH 8.8
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

bpf: Reset register bounds before narrowing retval range in check_mem_access()

When the BPF verifier processes a context load of an LSM hook return value, it calls __mark_reg_s32_range() to narrow the register to the hook's valid range. However, __mark_reg_s32_range() intersects the new range with the register's existing bounds using max_t()/min_t() rather than replacing them.

If the destination register carries stale bounds from a prior instruction (e.g. BPF_MOV64_IMM), the intersection can produce a range narrower than reality. The verifier then believes it knows the register's exact value, while at runtime the actual hook return value is loaded, creating a verifier/runtime mismatch that can be used to bypass BPF memory safety checks.

The else branch already calls mark_reg_unknown() to reset register state before any narrowing. Apply the same reset in the is_retval path so stale bounds are cleared before __mark_reg_s32_range() intersects.

AnalysisAI

BPF verifier register bounds mismatch in the Linux kernel allows local users with BPF loading capability to bypass BPF memory safety checks via crafted programs targeting LSM hook context loads. The flaw in check_mem_access() causes stale register bounds from prior instructions to corrupt the verifier's abstract interpretation, producing a divergence between the verifier's belief and runtime state that can be exploited to escape the BPF sandbox. Patches are confirmed available in stable branches (6.12.103, 6.18.40, 7.1.5, 7.2-rc1); no public exploit or CISA KEV listing exists, and EPSS is low at 0.22% (13th percentile), indicating limited observed real-world exploitation.

Technical ContextAI

The vulnerability resides in the Linux kernel's BPF verifier, specifically in check_mem_access() within the BPF subsystem's static analysis engine. The BPF verifier performs abstract interpretation of BPF programs before execution to guarantee memory safety. When verifying a load of an LSM (Linux Security Module) hook return value, the is_retval code path calls __mark_reg_s32_range() to constrain the destination register to the hook's valid return range. The defect is that __mark_reg_s32_range() intersects the new range with the register's existing bounds using max_t()/min_t() rather than resetting them first via mark_reg_unknown(). If a preceding instruction (e.g., BPF_MOV64_IMM) has set stale bounds on the destination register, the intersection produces an artificially narrow range that the verifier treats as definitive. At runtime, the actual LSM hook return value is loaded into the register, producing a value outside the range the verifier certified as safe. This verifier/runtime mismatch invalidates the verifier's safety proofs for affected programs, enabling out-of-bounds memory operations the verifier erroneously approved. The else branch of the same conditional already correctly calls mark_reg_unknown() - the is_retval path was simply missing the equivalent reset.

RemediationAI

Upgrade to a patched kernel version: 6.12.103, 6.18.40, 7.1.5, or 7.2-rc1 or later, depending on the running stable branch. Patch commits are available at https://git.kernel.org/stable/c/0993dc5fc619c0b25ab1310cb11d65e78351c0fe, https://git.kernel.org/stable/c/5a55f9aecc08990940e70f0c7048a80850c5a16a, https://git.kernel.org/stable/c/5e0b273e0a62cc04ec338c7b502797c66c2ed42a, and https://git.kernel.org/stable/c/bde92f65042ec14389782dd223f706bf6b59ce5d. Where immediate kernel upgrade is not possible, restrict CAP_BPF and CAP_NET_ADMIN from untrusted users and container workloads using Linux security policies (e.g., seccomp, AppArmor, SELinux), and block the bpf(2) syscall via seccomp filters for workloads that do not legitimately require BPF. Trade-off: disabling BPF access will break eBPF-based observability tools (e.g., Cilium, Falco, Pixie, performance monitoring with bpftrace), network policing, and security tooling that depends on BPF programs - assess operational impact before applying this control in production.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-59069 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy