bpf: Restrict CO-RE poisoning to relocatable instructions
Summary
| CVE | CVE-2026-98626 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-10-18 16:17:15 UTC |
| Updated | 2026-10-19 10:19:26 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
bpf: Restrict CO-RE poisoning to relocatable instructions
CO-RE relocation records can name any instruction offset. When a
relocation cannot be resolved, bpf_core_patch_insn() currently poisons its
target before checking whether that instruction is a valid relocation
target. Malformed metadata can therefore replace jumps, calls, exits,
register-source arithmetic, or non-immediate loads instead of failing at
the relocation step.
Handle poisoning only after the instruction has passed the same class and
operand-form checks used for a resolved relocation. Route invalid forms
through the existing diagnostic and return a hard error. Keep poisoning
supported instructions, including both halves of a plain ldimm64, so an
unresolved relocation in dead code remains valid.
Extend bpf_core_poison_insn() to poison both halves of ldimm64, and return
its status directly from each validated instruction case. This avoids
routing the success path through a common label and leaves the helper free
to report errors.
The shared relocation code applies this restriction to both libbpf and
in-kernel CO-RE. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f a8c47e62d9aea2d47a09e06c1682c59c21b92449 git |
Not specified |
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f d3219c229d16900cef936adad28633c98946e432 git |
Not specified |
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f a0b79cdfcf34b53c85bac2d3cf022fc1342eeca0 git |
Not specified |
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f f2a24101e89dd0804e717da7c1bd6af513698aa2 git |
Not specified |
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f 2d7d04357c41aa49a5ac658fcc207439f2ad6456 git |
Not specified |
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f 8e4cbcca1e0a2fc5e6c8edb68e0cf5f2587f9319 git |
Not specified |
| CNA |
Linux |
Linux |
affected d7a252708dbc950ca2064310217e8b9f85846e2f 394ae398337c5f87e567f6cd63b937fc2b2f6ddc git |
Not specified |
| CNA |
Linux |
Linux |
affected 5.6 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.6 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.15.222 5.15.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.1.189 6.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.158 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.112 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.55 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.9 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/d3219c229d16900cef936adad28633c98946e432 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/394ae398337c5f87e567f6cd63b937fc2b2f6ddc |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/f2a24101e89dd0804e717da7c1bd6af513698aa2 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/a8c47e62d9aea2d47a09e06c1682c59c21b92449 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/a0b79cdfcf34b53c85bac2d3cf022fc1342eeca0 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/2d7d04357c41aa49a5ac658fcc207439f2ad6456 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/8e4cbcca1e0a2fc5e6c8edb68e0cf5f2587f9319 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.