Skip to content
Heist/ feed
Unrated

bpf: Make post-verification instruction rewrites killable

Type: advisorySource: Official CVE List1 source record

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.

Announced Group revision 1
Original source ↗

CVE-2026-98628

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-98628

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "52875a04f4b26e7ef30a288ea096f7cfec0e93cd",
        "lessThan": "56dc616d7a1f7d134d3e101c455e62b0a24d0cfd",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "52875a04f4b26e7ef30a288ea096f7cfec0e93cd",
        "lessThan": "261b61d3735b042ae25634f795c4540be0fc140c",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "kernel/bpf/core.c",
      "kernel/bpf/fixups.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.1"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.1",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "7.2.9",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "kernel/bpf/core.c",
      "kernel/bpf/fixups.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-98628

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#38648 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement