bpf: Don't use tnum_range on array range checking for poke descriptors
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 18 fixed, 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 5.5 and later | 5.10.140, 5.15.64, 5.19.6, 6.0 | Patch available | CNA |
- Linux VendorLinux Affected 5.5 and later Fixed in 5.10.140, 5.15.64, 5.19.6, 6.0 Patch available CNA
CPE configurations NVD · 4
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 to before 5.10.140; 5.11 to before 5.15.64; 5.16 to before 5.19.6 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:* | 6.0 rc1 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:* | 6.0 rc2 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.0:rc3:*:*:*:*:*:* | 6.0 rc3 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 5.5 to before 5.10.140; 5.11 to before 5.15.64; 5.16 to before 5.19.6 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:* Versions 6.0 rc1 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:* Versions 6.0 rc2 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.0:rc3:*:*:*:*:*:* Versions 6.0 rc3 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.140, 5.15.64, 5.19.6, 6.0
Red Hat 8 advisories
- RHSA-2026:5732 Released 2026-03-25 · Red Hat rating Moderatekernel-rt security update
- Red Hat Enterprise Linux NFV E4S (v.9.0) kernel-rt-5.14.0-70.171.1.rt21.243.el9_0, kernel-rt-core-5.14.0-70.171.1.rt21.243.el9_0, kernel-rt-debug-5.14.0-70.171.1.rt21.243.el9_0 +9
- Red Hat Enterprise Linux Real Time E4S (v.9.0) kernel-rt-5.14.0-70.171.1.rt21.243.el9_0, kernel-rt-core-5.14.0-70.171.1.rt21.243.el9_0, kernel-rt-debug-5.14.0-70.171.1.rt21.243.el9_0 +7
- RHSA-2026:5693 Released 2026-03-25 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream E4S (v.9.0) kernel-debug-devel-5.14.0-70.171.1.el9_0, kernel-debug-devel-matched-5.14.0-70.171.1.el9_0, kernel-devel-5.14.0-70.171.1.el9_0 +5
- Red Hat Enterprise Linux BaseOS E4S (v.9.0) bpftool-5.14.0-70.171.1.el9_0, kernel-5.14.0-70.171.1.el9_0, kernel-abi-stablelists-5.14.0-70.171.1.el9_0 +14
- RHSA-2025:22752 Released 2025-12-04 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.4) bpftool-4.18.0-305.179.1.el8_4, kernel-4.18.0-305.179.1.el8_4, kernel-abi-stablelists-4.18.0-305.179.1.el8_4 +14
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) bpftool-4.18.0-305.179.1.el8_4, kernel-4.18.0-305.179.1.el8_4, kernel-abi-stablelists-4.18.0-305.179.1.el8_4 +14
Show 5 more Red Hat advisories
- RHSA-2025:18043 Released 2025-10-15 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.6) bpftool-4.18.0-372.164.1.el8_6, kernel-4.18.0-372.164.1.el8_6, kernel-abi-stablelists-4.18.0-372.164.1.el8_6 +14
- Red Hat Enterprise Linux BaseOS E4S (v.8.6) bpftool-4.18.0-372.164.1.el8_6, kernel-4.18.0-372.164.1.el8_6, kernel-abi-stablelists-4.18.0-372.164.1.el8_6 +19
- Red Hat Enterprise Linux BaseOS TUS (v.8.6) bpftool-4.18.0-372.164.1.el8_6, kernel-4.18.0-372.164.1.el8_6, kernel-abi-stablelists-4.18.0-372.164.1.el8_6 +14
- RHSA-2025:17570 Released 2025-10-08 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS E4S (v.8.8) bpftool-4.18.0-477.114.1.el8_8, kernel-4.18.0-477.114.1.el8_8, kernel-abi-stablelists-4.18.0-477.114.1.el8_8 +14
- Red Hat Enterprise Linux BaseOS TUS (v.8.8) bpftool-4.18.0-477.114.1.el8_8, kernel-4.18.0-477.114.1.el8_8, kernel-abi-stablelists-4.18.0-477.114.1.el8_8 +14
- RHSA-2025:15471 Released 2025-09-08 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.74.1.el8_10, kernel-4.18.0-553.74.1.el8_10, kernel-abi-stablelists-4.18.0-553.74.1.el8_10 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.74.1.el8_10
- RHSA-2025:15472 Released 2025-09-08 · Red Hat rating Importantkernel-rt security update
- Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.74.1.rt7.415.el8_10, kernel-rt-core-4.18.0-553.74.1.rt7.415.el8_10, kernel-rt-debug-4.18.0-553.74.1.rt7.415.el8_10 +9
- Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.74.1.rt7.415.el8_10, kernel-rt-core-4.18.0-553.74.1.rt7.415.el8_10, kernel-rt-debug-4.18.0-553.74.1.rt7.415.el8_10 +7
- RHSA-2023:2458 Released 2023-05-09 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-284.11.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.11.1.el9_2, kernel-64k-devel-5.14.0-284.11.1.el9_2 +10
- Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.0.0-284.11.1.el9_2, kernel-5.14.0-284.11.1.el9_2, kernel-64k-5.14.0-284.11.1.el9_2 +29
- Red Hat Enterprise Linux CRB (v. 9) kernel-tools-libs-devel-5.14.0-284.11.1.el9_2
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2023:2458 |
| Red Hat Enterprise Linux AppStream E4S (v.9.0) | Fixed | RHSA-2026:5693 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2025:15471 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2023:2458 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.4) | Fixed | RHSA-2025:22752 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.6) | Fixed | RHSA-2025:18043 |
| Red Hat Enterprise Linux BaseOS E4S (v.8.6) | Fixed | RHSA-2025:18043 |
| Red Hat Enterprise Linux BaseOS E4S (v.8.8) | Fixed | RHSA-2025:17570 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.0) | Fixed | RHSA-2026:5693 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) | Fixed | RHSA-2025:22752 |
| Red Hat Enterprise Linux BaseOS TUS (v.8.6) | Fixed | RHSA-2025:18043 |
| Red Hat Enterprise Linux BaseOS TUS (v.8.8) | Fixed | RHSA-2025:17570 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2025:15471 |
| Red Hat Enterprise Linux CRB (v. 9) | Fixed | RHSA-2023:2458 |
| Red Hat Enterprise Linux NFV (v. 8) | Fixed | RHSA-2025:15472 |
| Red Hat Enterprise Linux NFV E4S (v.9.0) | Fixed | RHSA-2026:5732 |
| Red Hat Enterprise Linux RT (v. 8) | Fixed | RHSA-2025:15472 |
| Red Hat Enterprise Linux Real Time E4S (v.9.0) | Fixed | RHSA-2026:5732 |
Not affected: 3 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-02 Threatist record created from CVE-2022-49985
- 2026-10-03 Alias added: GHSA-w75m-wgp8-wc83
References
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2022-49985 · CVE Program
- CVE-2022-49985 · NVD
- FIRST EPSS
- GHSA-w75m-wgp8-wc83 · GitHub Advisory Database · CC BY 4.0
- CVE-2022-49985 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences