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

bpf: Make post-verification instruction rewrites killable

After do_check() returns, the verifier runs several instruction rewrite
passes. Some of them patch or remove one instruction at a time. Each
operation moves the remaining instruction and auxiliary-data arrays and
adjusts all branch offsets, making the overall work quadratic in the
program length.

A privileged loader can submit 131072 unconditional jumps by zero followed
by a valid return. Verification finishes quickly, but bpf_opt_remove_nops()
then spends a long time removing each jump separately. Since this
post-verification work neither checks for signals nor reschedules, a pending
SIGKILL cannot terminate the task until the rewrite finishes.

Make bpf_patch_insn_data() and verifier_remove_insns() common cancellation
and rescheduling points. These helpers run from BPF_PROG_LOAD process
context, and bpf_patch_insn_data() can already sleep while reallocating
auxiliary data.

Report interrupted constant blinding as -EINTR and propagate it through
both JIT paths, including kernels that permit interpreter fallback.
Other blinding failures retain the existing fallback behavior.

This does not reduce the quadratic cost of the rewrite passes, but it makes
the work preemptible and allows a killed loader to be torn down promptly.
Published: 2026-10-18
Score: 2.3 Low
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

BPF programs in the Linux kernel undergo a series of post‑verification rewrites that currently cannot be canceled or preempted. After the main verifier finishes, each rewrite pass may move or delete instructions and adjust metadata, making the overall work quadratic in program length. A malicious privileged loader can create a program containing a large number of no‑op jumps followed by a return; verification completes quickly, but the rewrite passes then spend a long time cleaning each jump. Because this process does not check for signals or reschedule, a SIGKILL sent after the load cannot terminate the task until all rewrites finish, effectively preventing the kernel from responding to user requests and causing a denial‑of‑service condition for the loading process.

Affected Systems

The flaw is present in all Linux kernel builds that include the eBPF verifier and have not applied the patch. Systems that allow privileged users to load BPF programs are affected; any kernel version prior to the patch that supports BPF is vulnerable. The issue is limited to the verifier path; kernel configurations that disable BPF or restrict program loading to unprivileged contexts mitigate the impact.

Risk and Exploitability

The CVSS score of 2.3 indicates a low severity, and the EPSS score of <1% suggests a very low probability of exploitation in the wild. The vulnerability is not listed in the CISA KEV catalog. Attack requires elevated privileges to load a malformed BPF program. Because the rewrite passes are not preemptible, a privileged attacker can stall the process until the rewrites finish, potentially preventing task termination and creating a service disruption for that user or potentially for system‑wide resource exhaustion if many such loads are performed.

Generated by OpenCVE AI on October 23, 2026 at 07:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the vendor‑supplied kernel patch that adds cancellation points to the BPF verifier rewrite passes, which addresses the unchecked error condition (CWE‑606).
  • If a kernel upgrade is not immediately possible, configure a limit on the maximum BPF program size or instruction count to reduce the likelihood of encountering unchecked error conditions during rewrite passes.
  • Restrict privileged BPF program loading by enforcing stricter permission checks or disabling the feature entirely until the patch is applied, thereby preventing unchecked errors from being exploited.

Generated by OpenCVE AI on October 23, 2026 at 07:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399
CWE-770

Thu, 22 Oct 2026 12:30:00 +0000

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

None

cvssV3_1

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

threat_severity

Low


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

Type Values Removed Values Added
Weaknesses CWE-399
CWE-770

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: Make post-verification instruction rewrites killable After do_check() returns, the verifier runs several instruction rewrite passes. Some of them patch or remove one instruction at a time. Each operation moves the remaining instruction and auxiliary-data arrays and adjusts all branch offsets, making the overall work quadratic in the program length. A privileged loader can submit 131072 unconditional jumps by zero followed by a valid return. Verification finishes quickly, but bpf_opt_remove_nops() then spends a long time removing each jump separately. Since this post-verification work neither checks for signals nor reschedules, a pending SIGKILL cannot terminate the task until the rewrite finishes. Make bpf_patch_insn_data() and verifier_remove_insns() common cancellation and rescheduling points. These helpers run from BPF_PROG_LOAD process context, and bpf_patch_insn_data() can already sleep while reallocating auxiliary data. Report interrupted constant blinding as -EINTR and propagate it through both JIT paths, including kernels that permit interpreter fallback. Other blinding failures retain the existing fallback behavior. This does not reduce the quadratic cost of the rewrite passes, but it makes the work preemptible and allows a killed loader to be torn down promptly.
Title bpf: Make post-verification instruction rewrites killable
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:56.237Z

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

Link: CVE-2026-98628

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-10-19T10:19:27.050

Link: CVE-2026-98628

cve-icon Redhat

Severity : Low

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

Links: CVE-2026-98628 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T07:30:09Z

Weaknesses
  • CWE-606

    Unchecked Input for Loop Condition