Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Do mark_chain_precision for ARG_CONST_ALLOC_SIZE_OR_ZERO
Precision markers need to be propagated whenever we have an ARG_CONST_*
style argument, as the verifier cannot consider imprecise scalars to be
equivalent for the purposes of states_equal check when such arguments
refine the return value (in this case, set mem_size for PTR_TO_MEM). The
resultant mem_size for the R0 is derived from the constant value, and if
the verifier incorrectly prunes states considering them equivalent where
such arguments exist (by seeing that both registers have reg->precise as
false in regsafe), we can end up with invalid programs passing the
verifier which can do access beyond what should have been the correct
mem_size in that explored state.
To show a concrete example of the problem:
0000000000000000 <prog>:
0: r2 = *(u32 *)(r1 + 80)
1: r1 = *(u32 *)(r1 + 76)
2: r3 = r1
3: r3 += 4
4: if r3 > r2 goto +18 <LBB5_5>
5: w2 = 0
6: *(u32 *)(r1 + 0) = r2
7: r1 = *(u32 *)(r1 + 0)
8: r2 = 1
9: if w1 == 0 goto +1 <LBB5_3>
10: r2 = -1
0000000000000058 <LBB5_3>:
11: r1 = 0 ll
13: r3 = 0
14: call bpf_ringbuf_reserve
15: if r0 == 0 goto +7 <LBB5_5>
16: r1 = r0
17: r1 += 16777215
18: w2 = 0
19: *(u8 *)(r1 + 0) = r2
20: r1 = r0
21: r2 = 0
22: call bpf_ringbuf_submit
00000000000000b8 <LBB5_5>:
23: w0 = 0
24: exit
For the first case, the single line execution's exploration will prune
the search at insn 14 for the branch insn 9's second leg as it will be
verified first using r2 = -1 (UINT_MAX), while as w1 at insn 9 will
always be 0 so at runtime we don't get error for being greater than
UINT_MAX/4 from bpf_ringbuf_reserve. The verifier during regsafe just
sees reg->precise as false for both r2 registers in both states, hence
considers them equal for purposes of states_equal.
If we propagated precise markers using the backtracking support, we
would use the precise marking to then ensure that old r2 (UINT_MAX) was
within the new r2 (1) and this would never be true, so the verification
would rightfully fail.
The end result is that the out of bounds access at instruction 19 would
be permitted without this fix.
Note that reg->precise is always set to true when user does not have
CAP_BPF (or when subprog count is greater than 1 (i.e. use of any static
or global functions)), hence this is only a problem when precision marks
need to be explicitly propagated (i.e. privileged users with CAP_BPF).
A simplified test case has been included in the next patch to prevent
future regressions.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.8 | 5.10.273 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 5.19.11-1 | — |
| Debian 13 | linux | 5.19.11-1 | — |
| Debian 12 | linux | 5.19.11-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1096.98 | — |
| Ubuntu 24.04 LTS | linux-riscv +2 | No fix yet | — |
| Ubuntu 22.04 LTS | linux | 5.15.0-186.196 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1112.119 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-azure +1 | 5.15.0-1117.126 | USN-8610-1, USN-8575-3 |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1112.122 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1108.114 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1095.103 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-ibm | 5.15.0-1106.110 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1107.113 | USN-8620-4 |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1104.109 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-lowlatency | 5.15.0-184.194 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1107.108 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1064.66 | USN-8576-2 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1053.53 | USN-8576-2 |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1109.115 | USN-8575-3 |
| Ubuntu 22.04 LTS | linux-raspi | 5.15.0-1106.109 | USN-8668-2 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1075.79 | USN-8575-1 |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1104.106 | USN-8620-3 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1111.120 | USN-8575-1 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1112.119+fips1 | USN-8575-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1117.126+fips1 | USN-8620-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-186.196+fips1 | USN-8575-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1112.122+fips1 | USN-8575-1 |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux-aws-5.15 | 5.15.0-1112.119~20.04.1 | USN-8575-2 |
| Ubuntu Pro 20.04 LTS | linux-azure-5.15 | 5.15.0-1117.126~20.04.1 | USN-8620-1 |
| Ubuntu Pro 20.04 LTS | linux-azure-fde-5.15 | 5.15.0-1117.126~20.04.2 | USN-8620-1 |
| Ubuntu Pro 20.04 LTS | linux-gcp-5.15 | 5.15.0-1112.122~20.04.1 | USN-8668-1 |
| Ubuntu Pro 20.04 LTS | linux-hwe-5.15 | 5.15.0-186.196~20.04.1 | USN-8575-1 |
| Ubuntu Pro 20.04 LTS | linux-ibm-5.15 +1 | 5.15.0-1106.110~20.04.1 | USN-8597-1 |
| Ubuntu Pro 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1107.113~20.04.1 | USN-8620-3 |
| Ubuntu Pro 20.04 LTS | linux-lowlatency-hwe-5.15 | 5.15.0-184.194~20.04.1 | USN-8575-1 |
| Ubuntu Pro 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1064.66~20.04.1 | USN-8576-1 |
| Ubuntu Pro 20.04 LTS | linux-oracle-5.15 | 5.15.0-1109.115~20.04.1 | USN-8620-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9 | bpftool | 7.0.0-284.11.1.el9_2 | RHSA-2023:2458 |
| RHEL 9 | perf +48 | 5.14.0-284.11.1.el9_2 | RHSA-2023:2458 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | kernel | No fix yet | — |
Advisories 15
- WID-SEC-2025-1350 Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8575-1 linux, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-hwe-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-realtime, linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8575-2 linux-aws, linux-aws-5.15, linux-aws-fips, linux-fips, linux-ibm, linux-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-1 linux-azure-5.15, linux-azure-fde-5.15, linux-oracle-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-3 linux-intel-iot-realtime, linux-intel-iotg-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8610-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8668-2 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8575-3 linux-azure, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8668-1 linux-gcp-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8576-1 linux-nvidia-tegra-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8576-2 linux-nvidia-tegra, linux-nvidia-tegra-igx vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-4 linux-intel-iotg vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-2 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8597-1 linux-ibm-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- RHSA-2023:2458 Red Hat Security Advisory: kernel security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Oct 17, 2026