Linux kernel BPF regsafe base ID inconsistency leads verifier bypass
CVE-2026-53081 Published on June 24, 2026
bpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars
In the Linux kernel, the following vulnerability has been resolved:
bpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars
When regsafe() compares two scalar registers that both carry
BPF_ADD_CONST, check_scalar_ids() maps their full compound id
(aka base | BPF_ADD_CONST flag) as one idmap entry. However,
it never verifies that the underlying base ids, that is, with
the flag stripped are consistent with existing idmap mappings.
This allows construction of two verifier states where the old
state has R3 = R2 + 10 (both sharing base id A) while the current
state has R3 = R4 + 10 (base id C, unrelated to R2). The idmap
creates two independent entries: A->B (for R2) and A|flag->C|flag
(for R3), without catching that A->C conflicts with A->B. State
pruning then incorrectly succeeds.
Fix this by additionally verifying base ID mapping consistency
whenever BPF_ADD_CONST is set: after mapping the compound ids,
also invoke check_ids() on the base IDs (flag bits stripped).
This ensures that if A was already mapped to B from comparing
the source register, any ADD_CONST derivative must also derive
from B, not an unrelated C.
Vulnerability Analysis
CVE-2026-53081 can be exploited with local system access, and requires user privileges. This vulnerability is consided to have a high level of attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.
Weakness Type
Symbolic Name not Mapping to Correct Object
A constant symbolic reference to an object is used, even though the reference can resolve to a different object over time.
Products Associated with CVE-2026-53081
stack.watch emails you whenever new vulnerabilities are published in Linux Kernel or Red Hat Enterprise Linux (RHEL). Just hit a watch button to start following.
Affected Versions
Linux:- Version 98d7ca374ba4b39e7535613d40e159f09ca14da2 and below 13c02881e49aac4c82b261faa26db9edf2567231 is affected.
- Version 98d7ca374ba4b39e7535613d40e159f09ca14da2 and below 691adf738817275368ed56311b7d798d617823a3 is affected.
- Version 98d7ca374ba4b39e7535613d40e159f09ca14da2 and below 7d73c72cccac651acc891377a5e623e4021c6380 is affected.
- Version 98d7ca374ba4b39e7535613d40e159f09ca14da2 and below 2f2ec8e7730e21fc9bd49e0de9cdd58213ea24d0 is affected.
- Version 6.11 is affected.
- Before 6.11 is unaffected.
- Version 6.12.91, <= 6.12.* is unaffected.
- Version 6.18.33, <= 6.18.* is unaffected.
- Version 7.0.10, <= 7.0.* is unaffected.
- Version 7.1, <= * is unaffected.