Bounds check flaw in Linux kernel skb-backed BPF dynptrs
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 1 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel contains a bounds check flaw in skb_pointer_if_linear(), used by skb-backed BPF dynptrs, in versions from 6.6 before the fixed commits. An unsigned subtraction can underflow, so the check passes for regions outside the linear area and returns an invalid pointer. This leaves the dynptr backed by invalid memory.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Update the Linux kernel to 6.6.158, 6.12.112, 6.18.55, 7.2.9 or 7.3, or to a kernel that includes the fix commit. Red Hat Enterprise Linux 10 is affected, and Red Hat's plan for it is none available.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA Linux (Linux) Fixed in 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
Not affected: 6 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift Container Platform 4
- Red Hat OpenShift Container Platform 5
Timeline
- 2026-10-18 Threatist record created from CVE-2026-98591
- 2026-10-18 Alias added: GHSA-4j29-hvp6-5v88
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-20 Affected versions changed · Red Hat
- 2026-10-20 CVSS score added · Red Hat
- 2026-10-30 Affected versions changed · Red Hat
References
Other 5
- https://git.kernel.org/stable/c/1b923538598be768e9f2f258a77a083d00e0c78b
- https://git.kernel.org/stable/c/37877a24758068742fef687a7cf5362360dde1d1
- https://git.kernel.org/stable/c/1196903a27cac5c929c7517e987a8d159f20c5e5
- https://git.kernel.org/stable/c/39ffceaddb10753eac12785dba6ac0673860b4ac
- https://git.kernel.org/stable/c/ed6eec97b534979dcf28b40c389cee57bd6561d4
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-98591 · CVE Program
- CVE-2026-98591 · NVD
- FIRST EPSS
- GHSA-4j29-hvp6-5v88 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-98591 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences