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

bpf: Fix bounds check for skb-backed dynptrs

The skb_pointer_if_linear() function checks whether a
memory region of length len starting at offset off into
the skb is in the linear area, and returns a pointer to
the region if so. The check currently subtracts between
skb_headlen and offset of the check, and since skb_headlen
is unsigned the subtraction can underflow. This causes the
bounds check to spuriously pass and generate an arbitrary
pointer of the form *(skb->data + off).

The only user of this helper is currently skb-backed BPF
dynptr code. Returning the wrong pointer leads to the
dynptr erroneously being backed with invalid memory.

Ensure the subtraction cannot underflow, and fail the check if
it would. Use u64 arithmetic to also prevent overflow when
calculating (skb_headlen(skb) - off) since off is unsigned.
Published: 2026-10-18
Score: 6.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption via invalid BPF pointer
Action: Immediate patch
AI Analysis

Impact

The bug exists in the function skb_pointer_if_linear(), which verifies whether a requested slice of an skb lies within its linear buffer. The function performs an unsigned subtraction of the requested offset from the skb's linear length; because both operands are unsigned, the subtraction can underflow. When this underflow occurs the bounds check spuriously succeeds and the function returns a pointer into memory outside the skb’s linear area. The helper is used by skb-backed BPF dynamic pointers, so the incorrect pointer is later supplied as the backing memory for a BPF program’s dynamic pointer. If an attacker can force the kernel to invoke this helper with a crafted packet or by loading a malicious BPF program, the program may read or write data beyond the intended skb boundary, leading to arbitrary kernel memory corruption.

Affected Systems

All Linux kernel builds that include the skb‑backed BPF dynamic pointer feature are affected. The advisory does not list specific kernel versions, so any current or recent kernel with this functionality is potentially vulnerable.

Risk and Exploitability

The EPSS score is below 1% and the CVSS score of 6.7 indicates a moderate severity. The advisory does not describe an explicit attack vector, but based on the description it is inferred that an attacker who can influence the contents of a packet processed by the kernel or who can load a malicious BPF program might trigger the bug. If successful, the flaw could allow a BPF program to read or write arbitrary kernel memory, compromising confidentiality, integrity, or availability. The vulnerability is not listed in the CISA KEV catalog.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that incorporates the skb_pointer_if_linear bounds‑check fix, addressing the unsigned integer underflow (CWE‑191).
  • Disable or reduce use of skb‑backed BPF dynamic pointers in the kernel configuration to eliminate the vulnerable code path.
  • Limit BPF program loading to trusted users and enforce kernel hardening or additional bpf filtering to mitigate integer‑underflow effects (CWE‑191).

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Tue, 20 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190
CWE-680

Tue, 20 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-191
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.7, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


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

Type Values Removed Values Added
Weaknesses CWE-190
CWE-680

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: Fix bounds check for skb-backed dynptrs The skb_pointer_if_linear() function checks whether a memory region of length len starting at offset off into the skb is in the linear area, and returns a pointer to the region if so. The check currently subtracts between skb_headlen and offset of the check, and since skb_headlen is unsigned the subtraction can underflow. This causes the bounds check to spuriously pass and generate an arbitrary pointer of the form *(skb->data + off). The only user of this helper is currently skb-backed BPF dynptr code. Returning the wrong pointer leads to the dynptr erroneously being backed with invalid memory. Ensure the subtraction cannot underflow, and fail the check if it would. Use u64 arithmetic to also prevent overflow when calculating (skb_headlen(skb) - off) since off is unsigned.
Title bpf: Fix bounds check for skb-backed dynptrs
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-19T09:22:16.758Z

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

Link: CVE-2026-98591

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-10-19T10:19:20.220

Link: CVE-2026-98591

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98591 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T23:00:14Z

Weaknesses
  • CWE-191

    Integer Underflow (Wrap or Wraparound)