CVE-2026-53090: bpf: Fix ld_{abs,ind} failure path analysis in subprogs

Published Jun 24, 2026
·
Updated

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 bpfgenldabs() 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.

Affected Software

210 affected componentsFixes available
Linux Kernel
Linux Linux kernel>=5.10<7.0.10
ubuntu/linux-hwe-edge*
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.15<5.15.0-1117.124~20.04.1
5.15.0-1117.124~20.04.1
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.15<5.15.0-1123.132~20.04.1
5.15.0-1123.132~20.04.1
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-azure-fde-5.15<5.15.0-1122.131~20.04.1
5.15.0-1122.131~20.04.1
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.15<5.15.0-1118.128~20.04.1
5.15.0-1118.128~20.04.1
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.15<5.15.0-198.208~20.04.1
5.15.0-198.208~20.04.1
ubuntu/linux-hwe-5.8*
ubuntu/linux-ibm-5.15<5.15.0-1111.115~20.04.1
5.15.0-1111.115~20.04.1
ubuntu/linux-intel-5.13*
ubuntu/linux-intel-iotg-5.15<5.15.0-1112.118~20.04.1
5.15.0-1112.118~20.04.1
ubuntu/linux-lowlatency-hwe-5.15<5.15.0-195.205~20.04.1
5.15.0-195.205~20.04.1
ubuntu/linux-nvidia-tegra-5.15*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.15<5.15.0-1114.120~20.04.1
5.15.0-1114.120~20.04.1
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.15<5.15.0-1111.115~20.04.1
5.15.0-1111.115~20.04.1
ubuntu/linux-riscv-5.8*
ubuntu/linux<5.15.0-198.208
5.15.0-198.208
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws<5.15.0-1117.124
5.15.0-1117.124
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-aws-6.8*
ubuntu/linux-azure<5.15.0-1123.132
5.15.0-1123.132
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-6.8*
ubuntu/linux-azure-fde<5.15.0-1122.131
5.15.0-1122.131
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-azure-fde-6.8*
ubuntu/linux-gcp<5.15.0-1118.128
5.15.0-1118.128
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gcp-6.8*
ubuntu/linux-gke<5.15.0-1113.119
5.15.0-1113.119
ubuntu/linux-gkeop<5.15.0-1100.108
5.15.0-1100.108
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-ibm<5.15.0-1111.115
5.15.0-1111.115
ubuntu/linux-ibm-6.8*
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-intel-iotg<5.15.0-1112.118
5.15.0-1112.118
ubuntu/linux-kvm<5.15.0-1109.114
5.15.0-1109.114
ubuntu/linux-lowlatency<5.15.0-195.205
5.15.0-195.205
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-lowlatency-hwe-6.8*
ubuntu/linux-nvidia<5.15.0-1112.113
5.15.0-1112.113
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-nvidia-6.8*
ubuntu/linux-nvidia-tegra*
ubuntu/linux-nvidia-tegra-igx*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle<5.15.0-1114.120
5.15.0-1114.120
ubuntu/linux-oracle-6.5*
ubuntu/linux-oracle-6.8*
ubuntu/linux-raspi*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-riscv-6.8*
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-xilinx-zynqmp<5.15.0-1080.84
5.15.0-1080.84
ubuntu/linux-bluefield<5.15.0-1101.103
5.15.0-1101.103
ubuntu/linux-intel-iot-realtime<5.15.0-1109.111
5.15.0-1109.111
ubuntu/linux-realtime<5.15.0-1116.125
5.15.0-1116.125
ubuntu/linux-realtime-6.8*
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-aws-fips<5.15.0-1117.124+fips1
5.15.0-1117.124+fips1
ubuntu/linux-azure-fips<5.15.0-1123.132+fips1
5.15.0-1123.132+fips1
ubuntu/linux-fips<5.15.0-198.208+fips1
5.15.0-198.208+fips1
ubuntu/linux-gcp-fips<5.15.0-1118.128+fips1
5.15.0-1118.128+fips1
ubuntu/linux<6.8.0-147.147
6.8.0-147.147
ubuntu/linux-aws<6.8.0-1067.70
6.8.0-1067.70
ubuntu/linux-aws-6.14*
ubuntu/linux-aws-6.17*
ubuntu/linux-azure<6.8.0-1071.79
6.8.0-1071.79
ubuntu/linux-azure-6.11*
ubuntu/linux-azure-6.14*
ubuntu/linux-azure-6.17*
ubuntu/linux-azure-7.0<7.0.0-1014.14~24.04.1
7.0.0-1014.14~24.04.1
ubuntu/linux-azure-fde<6.8.0-1069.76
6.8.0-1069.76
ubuntu/linux-azure-fde-6.14*
ubuntu/linux-azure-fde-6.17*
ubuntu/linux-azure-fde-7.0<7.0.0-1013.13~24.04.1
7.0.0-1013.13~24.04.1
ubuntu/linux-azure-nvidia*
ubuntu/linux-azure-nvidia-6.14*
ubuntu/linux-gcp<6.8.0-1071.79
6.8.0-1071.79
ubuntu/linux-gcp-6.11*
ubuntu/linux-gcp-6.14*
ubuntu/linux-gcp-7.0<7.0.0-1011.11~24.04.1
7.0.0-1011.11~24.04.1
ubuntu/linux-gke<6.8.0-1066.74
6.8.0-1066.74
ubuntu/linux-gkeop<6.8.0-1052.56
6.8.0-1052.56
ubuntu/linux-hwe-6.11*
ubuntu/linux-hwe-6.14*
ubuntu/linux-hwe-6.17*
ubuntu/linux-hwe-7.0<7.0.0-28.28~24.04.1
7.0.0-28.28~24.04.1
ubuntu/linux-ibm<6.8.0-1067.68
6.8.0-1067.68
ubuntu/linux-lowlatency<6.8.0-147.147.1
6.8.0-147.147.1
ubuntu/linux-lowlatency-hwe-6.11*
ubuntu/linux-nvidia*
ubuntu/linux-nvidia-6.11*
ubuntu/linux-nvidia-6.17*
ubuntu/linux-nvidia-7.0<7.0.0-1016.16~24.04.1
7.0.0-1016.16~24.04.1
ubuntu/linux-nvidia-lowlatency*
ubuntu/linux-nvidia-tegra<6.8.0-1035.38
6.8.0-1035.38
ubuntu/linux-oem-6.11*
ubuntu/linux-oem-6.14*
ubuntu/linux-oem-6.17*
ubuntu/linux-oem-6.8*
ubuntu/linux-oracle<6.8.0-1064.67
6.8.0-1064.67
ubuntu/linux-oracle-6.14*
ubuntu/linux-oracle-6.17*
ubuntu/linux-oracle-7.0<7.0.0-1011.11~24.04.1
7.0.0-1011.11~24.04.1
ubuntu/linux-raspi*
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-6.14*
ubuntu/linux-riscv-6.17*
ubuntu/linux-riscv-7.0<7.0.0-28.28.1~24.04.3
7.0.0-28.28.1~24.04.3
ubuntu/linux-xilinx*
ubuntu/linux-bluefield<6.8.0-1033.38
6.8.0-1033.38
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime<6.8.1-1062.63
6.8.1-1062.63
ubuntu/linux-realtime-6.14*
ubuntu/linux-realtime-6.17*
ubuntu/linux-aws-fips<6.8.0-1067.70+fips1
6.8.0-1067.70+fips1
ubuntu/linux-azure-fips<6.8.0-1071.79+fips1
6.8.0-1071.79+fips1
ubuntu/linux-fips<6.8.0-147.147+fips1
6.8.0-147.147+fips1
ubuntu/linux-gcp-fips<6.8.0-1071.79+fips1
6.8.0-1071.79+fips1
ubuntu/linux*
ubuntu/linux-aws*
ubuntu/linux-azure*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp*
ubuntu/linux-oracle*
ubuntu/linux-raspi*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux<7.0.0-28.28
7.0.0-28.28
ubuntu/linux-aws<7.0.0-1009.9
7.0.0-1009.9
ubuntu/linux-azure<7.0.0-1010.10
7.0.0-1010.10
ubuntu/linux-azure-fde<7.0.0-1009.9
7.0.0-1009.9
ubuntu/linux-gcp<7.0.0-1008.8
7.0.0-1008.8
ubuntu/linux-gke<7.0.0-1003.4
7.0.0-1003.4
ubuntu/linux-ibm<7.0.0-1010.10
7.0.0-1010.10
ubuntu/linux-nvidia<7.0.0-1016.16
7.0.0-1016.16
ubuntu/linux-nvidia-bos<7.0.0-2016.16
7.0.0-2016.16
ubuntu/linux-oem-7.0<7.0.0-1009.9
7.0.0-1009.9
ubuntu/linux-oracle<7.0.0-1008.8
7.0.0-1008.8
ubuntu/linux-raspi<7.0.0-1015.15
7.0.0-1015.15
ubuntu/linux-realtime<7.0.0-28.28.1
7.0.0-28.28.1
ubuntu/linux-riscv<7.0.0-28.28.1
7.0.0-28.28.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Update the BPF verifier to simulate the abnormal exit path and the success fall-through path generated by bpf_gen_ld_abs() for ld_{abs,ind} instructions in subprograms, including both failure (r0=0 and return) and success (r0=unknown, continue) paths.

Event History

Jun 24, 2026
CVE Published
via MITRE·04:30 PM
Data Sourced
via MITRE·04:30 PM
DescriptionSeverity
Data Sourced
via OSV·05:17 PM
DescriptionSeverityAffected Software
Data Sourced
via NVD·05:17 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via Red Hat·06:04 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Does exploitation require remote access or elevated privileges?

The vulnerability is rated with local attack vector and low privileges required. The provided data does not indicate a network-reachable attack path.

2

What conditions are relevant to the affected BPF code path?

The issue concerns ld_abs and ld_ind packet-data load instructions used in BPF subprograms. Those instructions are allowed in subprograms only when the subprograms are BTF-annotated and have scalar return types.

3

What is the potential security impact?

The supplied severity vector rates confidentiality, integrity, and availability impact as high. Its overall CVSS score is 7.8, rated high severity.

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