Skip to main content

Linux Kernel EUVDEUVD-2026-55396

| CVE-2026-68295 HIGH
2026-08-10 Linux GHSA-vrqj-mf6p-p2fv
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local access with low privilege required to load BPF programs; full CIA impact consistent with JIT/verifier divergence privilege escalation class.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/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:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Aug 14, 2026 - 03:17 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
7.8 (HIGH)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 12:02 cve.org
HIGH 7.8
CVE Published
Aug 10, 2026 - 12:02 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

LoongArch: BPF: Zero-extend signed ALU32 div/mod results

ALU32 operations write a 32-bit result and leave the upper 32 bits of the BPF register zero. The LoongArch JIT sign-extends the result of signed ALU32 BPF_DIV and BPF_MOD (off=1), so a negative 32-bit quotient or remainder leaves bits 63:32 set in JITted code while the verifier and interpreter model those bits as zero.

Keep sign-extension on the operands, which signed divide needs, and zero-extend the ALU32 result after the divide or modulo instruction, matching the unsigned ALU32 div/mod paths and every other ALU32 operation in this JIT.

AnalysisAI

LoongArch BPF JIT in the Linux kernel incorrectly sign-extends results of signed ALU32 division and modulo operations (off=1), leaving bits 63:32 set in JIT-compiled code while the verifier and interpreter model those bits as zero. This JIT-verifier semantic divergence affects low-privileged local users on LoongArch systems who can load BPF programs, and may be leveraged via crafted eBPF programs to violate verifier-enforced memory safety invariants, potentially enabling privilege escalation. EPSS is low at 0.19% (9th percentile), no public exploit is confirmed at time of analysis, and patches are available in Linux 7.1.6 and upstream commit dacd348b8a99.

Technical ContextAI

The LoongArch JIT compiler (arch/loongarch/net/bpf_jit.c) is responsible for translating BPF bytecode to native LoongArch machine instructions. In the BPF execution model, ALU32 operations must produce a 32-bit result with the upper 32 bits of the 64-bit register zeroed - this is a hard architectural invariant that the verifier enforces statically. The bug lies specifically in the signed variants of BPF_DIV and BPF_MOD (off=1 flag selects signed semantics): the JIT correctly sign-extends the operands before the division (required for LoongArch signed-divide semantics) but then fails to zero-extend the 32-bit result afterward, as every other ALU32 operation in the same JIT does. The result is that a negative quotient or remainder leaves bits 63:32 set to 0xFFFFFFFF in JIT-executed code, while the verifier and interpreter both model those bits as zero. This creates a semantic divergence - the JIT produces register state the verifier never verified - which is the classical precondition for eBPF sandbox escapes. CPE data (cpe:2.3:a:linux:linux) confirms the Linux kernel as the affected product. No CWE is assigned, but this maps to CWE-682 (Incorrect Calculation) combined with CWE-193 (Off-by-one Error in sign/zero extension handling).

RemediationAI

The primary fix is upgrading to Linux stable release 7.1.6 or applying mainline commit dacd348b8a993373576fe2ee2d8b114740ba57a6, both available via https://git.kernel.org/stable/c/dacd348b8a993373576fe2ee2d8b114740ba57a6 and https://git.kernel.org/stable/c/716cb29dbed4d62e9e108950a1a82bcba4cc2d45. Distributions shipping LoongArch kernels should pull these commits into their package trees. As a compensating control on unpatched systems, disabling the BPF JIT (sysctl -w net.core.bpf_jit_enable=0) forces all BPF programs to execute through the interpreter, which does not exhibit the sign-extension bug - this eliminates the JIT/verifier divergence at the cost of BPF program performance. A second compensating control is restricting unprivileged BPF loading via sysctl -w kernel.unprivileged_bpf_disabled=1 (or =2 to also restrict perf_event_open-based loading), which limits exploitability to users already holding CAP_BPF or CAP_SYS_ADMIN - significantly narrowing the attack surface. Both sysctls are immediately reversible and carry a performance trade-off only for BPF-heavy workloads.

Vendor StatusVendor

SUSE

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

Share

EUVD-2026-55396 vulnerability details – vuln.today

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