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

bpf: Preserve packet pointer class displacement in regsafe()

regsafe() maps packet pointer IDs between states and checks that each
current register range is a subset of the corresponding explored
register range. It does not, however, preserve the displacement between
registers that share a packet pointer ID.

This is unsound because packet range is shared by ID. A bounds check on
one class member updates every member, and a later access can consume the
range through another member. Commit 022ac0750883 ("bpf: use reg->var_off
instead of reg->off for pointers") folded the fixed pointer offset into
r64 and removed the old off equality check, so two individually narrower
registers can prune even when their displacement has changed. The
explored path can then license an out-of-bounds packet access on the
pruned path.

Require matching range bases for packet pointers with an ID. Together
with the existing ID mapping, this preserves the displacement between
members of each packet-pointer class without adding per-ID state.
Packet pointers without an ID remain unaffected.
Published: 2026-10-18
Score: n/a
EPSS: n/a
KEV: No
Impact: Out-of-bounds packet access leading to memory corruption
Action: Patch kernel
AI Analysis

Impact

The vulnerability is in the Linux kernel bpf subsystem. regsafe() incorrectly preserves packet pointer displacement, allowing a bounds check performed on one member of a packet pointer class to propagate to all members with the same ID. Consequently a later access can step outside the bounds of the packet, producing an out-of-bounds read or write that may corrupt kernel memory. This flaw could be leveraged by a malicious BPF program to gain elevated privileges or crash the system.

Affected Systems

The flaw exists in all kernel versions that contain the bpf regsafe() implementation before the commit that introduces the corrected pointer offset. All platforms running the Linux kernel are potentially affected. Specific versions are not enumerated; enterprises should check whether their kernel series includes the commit 022ac075 or equivalent. The vendor identification shows "Linux:Linux", indicating any distribution that ships the upstream kernel.

Risk and Exploitability

The CVSS and EPSS scores are not listed, and the vulnerability is not currently included in CISA's KEV database. The impact of an out-of-bounds packet access in the kernel is severe, especially if a malicious BPF payload can be injected. The flaw could be leveraged by a local attacker, as BPF program loading normally requires process-level privileges. The lack of publicly available exploits does not reduce the risk of future attacks; the kernel's central role makes the flaw inherently dangerous.

Generated by OpenCVE AI on October 18, 2026 at 22:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that fixes the regsafe() displacement handling (e.g., upgrade to a kernel that includes commit 022ac075 or later, or manually backport the patch).
  • If an update is not immediately possible, restrict BPF program loading to trusted users only or disable loading untrusted BPF programs using kernel configuration or sysctl settings.
  • Monitor vendor advisories and reapply updates promptly once a distribution patch is released.

Generated by OpenCVE AI on October 18, 2026 at 22:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 18 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-787

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bpf: Preserve packet pointer class displacement in regsafe() regsafe() maps packet pointer IDs between states and checks that each current register range is a subset of the corresponding explored register range. It does not, however, preserve the displacement between registers that share a packet pointer ID. This is unsound because packet range is shared by ID. A bounds check on one class member updates every member, and a later access can consume the range through another member. Commit 022ac0750883 ("bpf: use reg->var_off instead of reg->off for pointers") folded the fixed pointer offset into r64 and removed the old off equality check, so two individually narrower registers can prune even when their displacement has changed. The explored path can then license an out-of-bounds packet access on the pruned path. Require matching range bases for packet pointers with an ID. Together with the existing ID mapping, this preserves the displacement between members of each packet-pointer class without adding per-ID state. Packet pointers without an ID remain unaffected.
Title bpf: Preserve packet pointer class displacement in regsafe()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-18T15:19:48.952Z

Reserved: 2026-09-25T10:25:14.361Z

Link: CVE-2026-98627

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:15.760

Modified: 2026-10-18T16:17:15.760

Link: CVE-2026-98627

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T22:45:04Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer

  • CWE-787

    Out-of-bounds Write