bpf: reject negative CO-RE accessor indices in bpf_core_parse_spec()
CVE-2026-45839 is fixed in 70 products on 1 platform, first by ALAS2023-2026-1882, released June 22, 2026. It is not reported as exploited. Patch Radar priority: High.
In the Linux kernel, the following vulnerability has been resolved: bpf: reject negative CO-RE accessor indices in bpf_core_parse_spec() CO-RE accessor strings are colon-separated indices that describe a path from a root BTF type to a target field, e.g. "0:1:2" walks through nested struct members. bpf_core_parse_spec() parses each component with sscanf("%d"), so negative values like -1 are silently accepted. The subsequent bounds checks (access_idx >= btf_vlen(t)) only guard the upper bound and always pass for negative values because C integer promotion converts the __u16 btf_vlen result to int, making the comparison (int)(-1) >= (int)(N) false for any positive N. When -1 reaches btf_member_bit_offset() it gets cast to u32 0xffffffff, producing an out-of-bounds read far past the members array. A crafted BPF program with a negative CO-RE accessor on any struct that exists in vmlinux BTF (e.g. task_struct) crashes the kernel deterministically during BPF_PROG_LOAD on any system with CONFIG_DEBUG_INFO_BTF=y (default on major distributions). The bug is reachable with CAP_BPF: BUG: unable to handle page fault for address: ffffed11818b6626 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 85 Comm: poc Not tainted 7.0.0-rc6 #18 PREEMPT(full) RIP: 0010:bpf_core_parse_spec (tools/lib/bpf/relo_core.c:354) RAX: 00000000ffffffff Call Trace: <TASK> bpf_core_calc_relo_insn (tools/lib/bpf/relo_core.c:1321) bpf_core_apply (kernel/bpf/btf.c:9507) check_core_relo (kernel/bpf/verifier.c:19475) bpf_check (kernel/bpf/verifier.c:26031) bpf_prog_load (kernel/bpf/syscall.c:3089) __sys_bpf (kernel/bpf/syscall.c:6228) </TASK> CO-RE accessor indices are inherently non-negative (struct member index, array element index, or enumerator index), so reject them immediately after parsing.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| bpftool-debuginfo · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| bpftool6.12 · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| bpftool6.12-debuginfo · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| bpftool6.18 · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| bpftool6.18-debuginfo · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| dtb-aarch64 · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-64kb · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-64kb · sles 15.7 | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-64kb · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-azure · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-azure · sles 15.7 | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-azure · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-debuginfo · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-debuginfo-common-aarch64 · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-debuginfo-common-x86_64 · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-default · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-default · sles 15.7 | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-default · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23237-1 | Aug 11, 2026 |
| kernel-default-base · opensuse-leap 16.0 | 6.12.0-160000.37.1.160000.2.19 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-default-base · sles 15.7 | 6.4.0-150700.53.73.2.150700.17.41.4 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-default-base · sles 16.0 | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-devel · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-docs · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-docs · sles 15.7 | 6.4.0-150700.53.73.1 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-docs · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-headers · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-kvmsmall · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-kvmsmall · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-livepatch-6.1.175-219.357 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-livepatch-6.12.92-122.166 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel-livepatch-6.18.33-63.124 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel-livepatch-SLE15-SP7-RT_Update_18 · sles 15.7 | 1-150700.1.5.1 | SUSE-SU-2026:3130-1 | Jul 20, 2026 |
| kernel-livepatch-SLE15-SP7_Update_19 · sles 15.7 | 1-150700.15.3.4 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-modules-extra · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-modules-extra-common · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-obs-build · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-obs-build · sles 15.7 | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-obs-qa · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-obs-qa · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-rt · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-source · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-source · sles 15.7 | 6.4.0-150700.53.73.1 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-source · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-syms · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-syms · sles 15.7 | 6.4.0-150700.53.73.1 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-syms · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel-tools · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-tools-debuginfo · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-tools-devel · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| kernel-zfcpdump · opensuse-leap 16.0 | 6.12.0-160000.37.1 | OPENSUSE-SU-2026:21555-1 | Aug 12, 2026 |
| kernel-zfcpdump · sles 15.7 | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 | Jul 21, 2026 |
| kernel-zfcpdump · sles 16.0 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1 | Aug 11, 2026 |
| kernel6.12 · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-debuginfo · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-debuginfo-common-aarch64 · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-debuginfo-common-x86_64 · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-devel · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-headers · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-modules-extra · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-modules-extra-common · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-tools · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-tools-debuginfo · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.12-tools-devel · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| kernel6.18 · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-debuginfo · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-debuginfo-common-aarch64 · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-debuginfo-common-x86_64 · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-devel · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-headers · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-modules-extra · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-modules-extra-common · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-tools · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-tools-debuginfo · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| kernel6.18-tools-devel · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| linux · Debian 12.15 (bookworm) | 6.1.176-1 | DEBIAN-CVE-2026-45839 | Jun 24, 2026 |
| linux · Debian 13.5 (trixie) | 6.12.94-1 | DEBIAN-CVE-2026-45839 | Jun 24, 2026 |
| linux · Debian 14 | 7.0.10-1 | DEBIAN-CVE-2026-45839 | Jun 24, 2026 |
| perf · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| perf-debuginfo · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| perf6.12 · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| perf6.12-debuginfo · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| perf6.18 · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| perf6.18-debuginfo · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| python3-perf · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| python3-perf-debuginfo · amzn 2023 | 1:6.1.175-219.357.amzn2023 | ALAS2023-2026-1882 | Jun 22, 2026 |
| python3-perf6.12 · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| python3-perf6.12-debuginfo · amzn 2023 | 1:6.12.92-122.166.amzn2023 | ALAS2023-2026-1894 | Jun 22, 2026 |
| python3-perf6.18 · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
| python3-perf6.18-debuginfo · amzn 2023 | 1:6.18.33-63.124.amzn2023 | ALAS2023-2026-1866 | Jun 22, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.