Vulnerability · Published Oct 18, 2026 · Assigned by Linux
CVE-2026-98647bpf: Fix divide-by-zero in btf_struct_walk()
Unrated
In plain English
A security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 7% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix divide-by-zero in btf_struct_walk() When an access goes past the struct and the last member is a flexible array, btf_struct_walk() folds the offset back into a single element with (off - moff) % t->size, but never checks that the element type has a size. BTF takes an empty struct, so this in program BTF /* event could be empty */ struct event { #ifdef HAVE_TIMESTAMP __u64 ts; #endif }; struct batch { int nr; struct event events[]; }; divides by zero at prog load time. Getting there needs a PTR_TO_BTF_ID that is not MEM_ALLOC, e.g. a plain read of a local kptr stashed in a map from a sleepable program. Oops: divide error: 0000 [#1] SMP KASAN PTI RIP: 0010:btf_struct_walk+0x53f/0x1570 Call Trace: <TASK> btf_struct_access+0x42a/0xcd0 check_ptr_to_btf_access+0x4dc/0x1160 check_mem_access+0x3a45/0x8740 check_load_mem+0x36a/0xd10 do_check_common+0x3ef0/0xb210 bpf_check+0x6d3b/0x8580 bpf_prog_load+0xf7c/0x2720 __sys_bpf+0xa83/0x3690 __x64_sys_bpf+0xc7/0x150 x64_sys_call+0x1f3f/0x27e0 do_syscall_64+0xe5/0x610 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> Reject a zero-sized element type. The fixed array path in the same function already bails out on the same thing: btf_struct_walk() ... /* skip empty array */ if (moff == mtrue_end) continue; msize /= total_nelems;
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | linux | 6.1.190-1 | DEBIAN-CVE-2026-98647 |
| Debian:13 | linux | 6.12.113-1 | DEBIAN-CVE-2026-98647 |
| Debian:14 | linux | 7.2.9-1 | DEBIAN-CVE-2026-98647 |
| Debian:12 | linux-6.12 | 6.12.113-1~deb12u1 | DEBIAN-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux | 5.15.0-202.212 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux | 7.0.0-42.42 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1119.126 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-aws | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-aws | 7.0.0-1016.17 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-aws-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-aws-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-aws-7.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1125.134 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-azure | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-6.11 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-7.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-fde | 5.15.0-1124.133 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-fde | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-azure-fde | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-fde-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-fde-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-fde-7.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-nvidia | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-azure-nvidia-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1120.130 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gcp | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-gcp | 7.0.0-1016.18 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gcp-6.11 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gcp-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gcp-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gcp-7.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1115.121 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gke | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-gke | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1102.110 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-gkeop | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-hwe-6.11 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-hwe-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-hwe-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-hwe-7.0 | 7.0.0-42.42~24.04.1 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1113.117 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-ibm | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-ibm | 7.0.0-1017.17 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-ibm-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1114.120 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1111.116 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-197.207 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-lowlatency | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-lowlatency-hwe-6.11 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1114.115 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-nvidia | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-nvidia | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-nvidia-6.11 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-nvidia-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-nvidia-7.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-nvidia-bos | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1070.72 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-nvidia-tegra | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1059.59 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oem-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oem-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-oem-7.0 | 7.0.0-1017.17 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1116.122 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oracle | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-oracle | 7.0.0-1015.16 | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oracle-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oracle-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-oracle-7.0 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-raspi | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-raspi | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-raspi | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:26.04:LTS | linux-riscv | 7.0.0-42.42.1 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-riscv-6.14 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-riscv-6.17 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-riscv-7.0 | 7.0.0-42.42.1~24.04.1 | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-vmware | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:24.04:LTS | linux-xilinx | no fix listed | UBUNTU-CVE-2026-98647 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | no fix listed | UBUNTU-CVE-2026-98647 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 9c5f8a1008a121e4c6b24af211034e24b0b63081 – before 1ea3820937f8022e044c41c6e95c84b02741b45f9c5f8a1008a121e4c6b24af211034e24b0b63081 – before 172756f02663ad45c889c001c1a8cb4082a01a059c5f8a1008a121e4c6b24af211034e24b0b63081 – before 934e9ba9f8d05656a48624710be67ca4dc8482e69c5f8a1008a121e4c6b24af211034e24b0b63081 – before 63af086cb5fa6f72fd924f86bea4c2194da663a29c5f8a1008a121e4c6b24af211034e24b0b63081 – before 8eb4cd72daad3a9ee63d2281bbdd16ce6d9406b19c5f8a1008a121e4c6b24af211034e24b0b63081 – before b8fa56722e9c43bcd59c51fe4c7edd5f4158a11b9c5f8a1008a121e4c6b24af211034e24b0b63081 – before b0b3dc66529676228cb938cbcad66920f735c223 |
| Linux | Linux | 5.8 |
References
- https://git.kernel.org/stable/c/1ea3820937f8022e044c41c6e95c84b02741b45f
- https://git.kernel.org/stable/c/172756f02663ad45c889c001c1a8cb4082a01a05
- https://git.kernel.org/stable/c/934e9ba9f8d05656a48624710be67ca4dc8482e6
- https://git.kernel.org/stable/c/63af086cb5fa6f72fd924f86bea4c2194da663a2
- https://git.kernel.org/stable/c/8eb4cd72daad3a9ee63d2281bbdd16ce6d9406b1
- https://git.kernel.org/stable/c/b8fa56722e9c43bcd59c51fe4c7edd5f4158a11b
- https://git.kernel.org/stable/c/b0b3dc66529676228cb938cbcad66920f735c223