CVE-2026-98626: bpf: Restrict CO-RE poisoning to relocatable instructions

Published Oct 18, 2026
·
Updated

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, bpfcorepatchinsn() 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 bpfcorepoisoninsn() 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.

Affected Software

1 affected component
Linux Linux kernel

Event History

Oct 18, 2026
CVE Published
via MITRE·03:19 PM
Data Sourced
via MITRE·03:19 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Frequently Asked Questions

1

What must an attacker control to trigger this issue?

An attacker needs to supply malformed CO-RE relocation metadata that names an instruction offset and causes relocation resolution to fail. The vulnerable handling can poison an instruction before confirming that it is a valid relocation target.

2

Which environments are affected by the shared relocation behavior?

The shared CO-RE relocation code is used by both libbpf and in-kernel CO-RE, so the restriction applies to both. The provided information does not identify affected kernel versions or configurations.

3

How can the corrected behavior be recognized?

For an unresolved relocation targeting an invalid instruction form, the relocation now follows the existing diagnostic path and returns a hard error rather than poisoning the instruction. Poisoning remains allowed only for validated supported targets, including both halves of a plain ldimm64 instruction.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203