All vulnerabilities
CVE-2026-98628

Linux: bpf: Make post-verification instruction rewrites killable

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.19%Chance of exploitation activity in the next 30 days, higher than 8% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in56dc616d7a1f7d134d3e101c455e62b0a24d0cfdAlso 261b61d3735b042ae25634f795c4540be0fc140cCVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 56dc616d7a1f7d134d3e101c455e62b0a24d0cfdLinuxCVE List
  • 261b61d3735b042ae25634f795c4540be0fc140cLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 6

  • Linuxaffected: 52875a04f4b26e7ef30a288ea096f7cfec0e93cd before 56dc616d7a1f7d134d3e101c455e62b0a24d0cfdCVE List
  • Linuxaffected: 52875a04f4b26e7ef30a288ea096f7cfec0e93cd before 261b61d3735b042ae25634f795c4540be0fc140cCVE List
  • Linuxaffected: 5.1CVE List
  • Linuxunaffected: all versions before 5.1CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 2