CVE-2026-90269

bpf: Reject load-acquire from pointers requiring fault protection

CVE-2026-90269 is fixed in 20 products on 1 platform, first by DEBIAN-CVE-2026-90269, released September 23, 2026. It is not reported as exploited. Patch Radar priority: High.

High
CVSS
n/a
important
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0021
10th percentile

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject load-acquire from pointers requiring fault protection A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier, unlike a regular BPF_LDX, so the JIT emits a plain load with no exception table entry and a fault panics the kernel instead of being handled. Reject the source pointer types that a BPF_LDX would have had that fault protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED, PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED. This is reachable e.g. by loading ->mm out of a trusted task_struct yields an untrusted pointer to mm_struct, and it is NULL for a kernel thread: [...] SEC("tp_btf/sched_switch") int BPF_PROG(demo, bool preempt, struct task_struct *prev, struct task_struct *next) { struct mm_struct *mm = next->mm; /* untrusted */ out_ldx = (__u64)mm->pgd; /* BPF_LDX */ out_acq = load_acquire(&mm->pgd); /* BPF_LOAD_ACQ */ return 0; } [...] Both dereference the same pointer, but only the BPF_LDX is protected (x86-64 JIT, jump targets shown prog-relative): [...] ; out_ldx = (__u64)mm->pgd; 17: movq $-10485760, %r10 1e: movq %rsi, %r11 21: addq $184, %r11 28: subq %r10, %r11 2b: movabsq $140737498841088, %r10 35: cmpq %r10, %r11 38: ja 0x3e <-- kernel addr? 3a: xorl %edi, %edi <-- no: dst = 0, skip the load 3c: jmp 0x45 3e: movq 184(%rsi), %rdi <-- yes: load + extable entry [...] ; load_acquire(&mm->pgd) 53: movq %rsi, %rdi 56: movq 184(%rdi), %rax <-- no check, no extable entry [...] Note that BPF_PROBE_MEM is not visible in a bpftool xlated dump, as bpf_insn_prepare_dump() rewrites it back to BPF_MEM. A PTR_TRUSTED pointer is deliberately not on the list. Such a load is not converted either, but it does not need to be, since the pointer is guaranteed live, so load-acquire from it stays allowed. The check is gated on BPF_LOAD_ACQ so that atomic RMW and store-release error messages are unchanged; writes (RMW / store-release) to such pointers are already rejected elsewhere, so only load-acquire needs this.

Where it's fixed

ProductFixed inFixReleased
Linux
bpftool6.18 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
bpftool6.18-debuginfo · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel-livepatch-6.18.54-121.166 · amzn 2023 1:1.0-0.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-debuginfo · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-debuginfo-common-aarch64 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-debuginfo-common-x86_64 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-devel · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-headers · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-modules-extra · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-modules-extra-common · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-tools · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-tools-debuginfo · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
kernel6.18-tools-devel · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
linux · Debian 14 7.2.6-1 DEBIAN-CVE-2026-90269 Sep 23, 2026
microvm-kernel6.18 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
perf6.18 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
perf6.18-debuginfo · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
python3-perf6.18 · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 2026
python3-perf6.18-debuginfo · amzn 2023 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192 Nov 7, 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.