Vulnerability · Published Jun 18, 2025 · Assigned by Linux

CVE-2022-49985bpf: Don't use tnum_range on array range checking for poke descriptors

High 7.8

In plain English

A high-severity 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.3% (higher than 18% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.3%top 81.6% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: bpf: Don't use tnum_range on array range checking for poke descriptors Hsin-Wei reported a KASAN splat triggered by their BPF runtime fuzzer which is based on a customized syzkaller: BUG: KASAN: slab-out-of-bounds in bpf_int_jit_compile+0x1257/0x13f0 Read of size 8 at addr ffff888004e90b58 by task syz-executor.0/1489 CPU: 1 PID: 1489 Comm: syz-executor.0 Not tainted 5.19.0 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x9c/0xc9 print_address_description.constprop.0+0x1f/0x1f0 ? bpf_int_jit_compile+0x1257/0x13f0 kasan_report.cold+0xeb/0x197 ? kvmalloc_node+0x170/0x200 ? bpf_int_jit_compile+0x1257/0x13f0 bpf_int_jit_compile+0x1257/0x13f0 ? arch_prepare_bpf_dispatcher+0xd0/0xd0 ? rcu_read_lock_sched_held+0x43/0x70 bpf_prog_select_runtime+0x3e8/0x640 ? bpf_obj_name_cpy+0x149/0x1b0 bpf_prog_load+0x102f/0x2220 ? __bpf_prog_put.constprop.0+0x220/0x220 ? find_held_lock+0x2c/0x110 ? __might_fault+0xd6/0x180 ? lock_downgrade+0x6e0/0x6e0 ? lock_is_held_type+0xa6/0x120 ? __might_fault+0x147/0x180 __sys_bpf+0x137b/0x6070 ? bpf_perf_link_attach+0x530/0x530 ? new_sync_read+0x600/0x600 ? __fget_files+0x255/0x450 ? lock_downgrade+0x6e0/0x6e0 ? fput+0x30/0x1a0 ? ksys_write+0x1a8/0x260 __x64_sys_bpf+0x7a/0xc0 ? syscall_enter_from_user_mode+0x21/0x70 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7f917c4e2c2d The problem here is that a range of tnum_range(0, map->max_entries - 1) has limited ability to represent the concrete tight range with the tnum as the set of resulting states from value + mask can result in a superset of the actual intended range, and as such a tnum_in(range, reg->var_off) check may yield true when it shouldn't, for example tnum_range(0, 2) would result in 00XX -> v = 0000, m = 0011 such that the intended set of {0, 1, 2} is here represented by a less precise superset of {0, 1, 2, 3}. As the register is known const scalar, really just use the concrete reg->var_off.value for the upper index check.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:8bpftool4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-abi-stablelists4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-core4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-cross-headers4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-debug4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-debug-core4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-debug-devel4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-debug-modules4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-debug-modules-extra4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-devel4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-doc4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-headers4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-modules4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-modules-extra4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-rt4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-core4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-debug4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-debug-core4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-debug-devel4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-debug-modules4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-debug-modules-extra4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-devel4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-modules4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-rt-modules-extra4.18.0-553.74.1.rt7.415.el8_10ALSA-2025:15472
AlmaLinux:8kernel-tools4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-tools-libs4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-tools-libs-devel4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-zfcpdump4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-zfcpdump-core4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-zfcpdump-devel4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-zfcpdump-modules4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8kernel-zfcpdump-modules-extra4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8perf4.18.0-553.74.1.el8_10ALSA-2025:15471
AlmaLinux:8python3-perf4.18.0-553.74.1.el8_10ALSA-2025:15471
Debian:12linux6.0.2-1DEBIAN-CVE-2022-49985
Debian:13linux6.0.2-1DEBIAN-CVE-2022-49985
Debian:14linux6.0.2-1DEBIAN-CVE-2022-49985
Rocky Linux:8kernel0:4.18.0-553.74.1.el8_10RLSA-2025:15471
Ubuntu:22.04:LTSlinux5.15.0-53.59UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-aws5.15.0-1023.27UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure5.15.0-1023.29UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1024.30.1UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-gcp5.15.0-1022.29UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-gke5.15.0-1020.25UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1008.12UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-ibm5.15.0-1018.21UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1018.23UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-kvm5.15.0-1021.26UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-53.59UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1015.15UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-oracle5.15.0-1022.28UBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-raspi5.15.0-1018.20UBUNTU-CVE-2022-49985
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-49985
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-49985
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2022-49985
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2022-49985

Affected products (as reported)

VendorProductVersions
Linux Linux d2e4c1e6c2947269346054ac8937ccfe9e0bcc6b – before e8979807178434db8ceaa84dfcd44363e71e50bbd2e4c1e6c2947269346054ac8937ccfe9e0bcc6b – before 4f672112f8665102a5842c170be1713f8ff95919d2e4c1e6c2947269346054ac8937ccfe9e0bcc6b – before a36df92c7ff7ecde2fb362241d0ab024dddd0597d2e4c1e6c2947269346054ac8937ccfe9e0bcc6b – before a657182a5c5150cdfacb6640aad1d2712571a409
Linux Linux 5.5

References