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

bpf: Reject pkt arguments in mutating subprogs

The verifier tracks changes in how PTR_TO_PACKET registers'
bounds are modified across subprog boundaries. PTR_TO_PACKET
registers are actually passed as PTR_TO_MEM, which is assumed
valid for the entire call. This is not the case with packet memory,
where a pskb_* call may invalidate its memory region.

Reject BPF code that passes PTR_TO_PACKET pointers to subprogs that
may mutate a packet. We cannot pass the pointer as a true PTR_TO_PACKET
because we would also need to somehow pass the PTR_TO_PACKET_META
or PTR_TO_PACKET_END to the subprog. Since we cannot avoid representing
the pointer in the subprog as PTR_TO_MEM, only permit it if the
subprog is guaranteed not to mutate the packet.
Published: 2026-10-18
Score: 6.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Memory Corruption
Action: Update Kernel
AI Analysis

Impact

The vulnerability stems from the Linux kernel BPF verifier incorrectly treating packet‑memory pointers (PTR_TO_PACKET) as generic memory pointers (PTR_TO_MEM) when they cross subprogram boundaries. This oversight allows a BPF subprogram that mutates packet data to be called with a pointer that is not guaranteed to remain valid. The resulting pointer misuse can lead to kernel memory corruption, potentially compromising the integrity of the kernel or causing a denial of service. The weakness aligns with CWE-825.

Affected Systems

All Linux kernel implementations that include the unpatched BPF verifier logic are subject to this flaw. While specific kernel versions are not enumerated in the advisory, the patch commits referenced in the advisory are present in newer releases, so any system running a kernel older than those commits is affected.

Risk and Exploitability

The CVSS score of 6.7 indicates moderate severity, and the EPSS score of less than 1% suggests a low probability of exploitation at present. The flaw is not listed in CISA’s KEV catalog. The likely attack vector is a user or process with permission to load BPF programs into the kernel. Based on the description, it is inferred that such an attacker could inject a malicious BPF subprogram that passes a packet pointer to a mutating routine, leading to memory corruption.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that incorporates the BPF ptr_to_packet bounds check from the referenced commits.
  • If a kernel update cannot be applied immediately, disable or restrict BPF subprograms that may mutate packet data, for example by setting appropriate sysctl parameters or using MAC policies to limit BPF loading privileges.
  • Remove or rewrite any custom BPF programs that rely on mutable packet subprograms to ensure they do not use PTR_TO_PACKET pointers.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Weaknesses CWE-120
CWE-125

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

Type Values Removed Values Added
Weaknesses CWE-825
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-120
CWE-125

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: Reject pkt arguments in mutating subprogs The verifier tracks changes in how PTR_TO_PACKET registers' bounds are modified across subprog boundaries. PTR_TO_PACKET registers are actually passed as PTR_TO_MEM, which is assumed valid for the entire call. This is not the case with packet memory, where a pskb_* call may invalidate its memory region. Reject BPF code that passes PTR_TO_PACKET pointers to subprogs that may mutate a packet. We cannot pass the pointer as a true PTR_TO_PACKET because we would also need to somehow pass the PTR_TO_PACKET_META or PTR_TO_PACKET_END to the subprog. Since we cannot avoid representing the pointer in the subprog as PTR_TO_MEM, only permit it if the subprog is guaranteed not to mutate the packet.
Title bpf: Reject pkt arguments in mutating subprogs
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:14.803Z

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

Link: CVE-2026-98589

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-10-19T10:19:19.933

Link: CVE-2026-98589

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-98589 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T22:00:15Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference