CVE-2025-21680
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Jan 31, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's network testing tool could let someone on the same machine crash the whole system or gain extra access by feeding it too much test data.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows an out-of-bounds array access in the pktgen module's get_imix_entries function due to an incorrect boundary check on the imix_entries array, potentially leading to kernel memory corruption or crashes.
Why it matters to the business
Systems running vulnerable Linux kernels may experience crashes or allow local attackers to escalate privileges, impacting system availability and security, especially in environments using pktgen for network testing; widespread kernel prevalence increases exposure across servers and devices.
How an attack unfolds
An attacker with local access crafts input with more than 20 imix entries when writing to the pktgen proc interface, triggering the out-of-bounds access in the kernel module as shown in the call trace involving pktgen_if_write.
How to fix it
Update the Linux kernel to a version containing commit 3450092cc2d1c311c5ea92a2486daa2a33520ea5 or later stable releases that correct the boundary check in net/core/pktgen.c.
How to confirm the fix worked
Confirm the running kernel includes the referenced commit hash, reproduce pktgen writes with maximum imix entries without triggering UBSAN reports, and verify no out-of-bounds warnings in dmesg.
Typical attack path
- Obtain local shell access on a vulnerable Linux system
- Write excessive imix entries via the pktgen proc interface
- Trigger array-index-out-of-bounds in get_imix_entries leading to kernel fault or corruption
How to detect it
Inspect kernel logs and dmesg for UBSAN array-index-out-of-bounds messages referencing net/core/pktgen.c:874 or call traces involving get_imix_entries and pktgen_if_write.
- UBSAN: array-index-out-of-bounds in net/core/pktgen.c:874:24
- index 20 is out of range for type 'imix_pkt [20]'
- get_imix_entries net/core/pktgen.c:874
What your security team should do
- Apply the kernel update containing commit 3450092cc2d1c311c5ea92a2486daa2a33520ea5 as soon as possible
- Restrict unprivileged write access to pktgen proc interfaces where feasible
- Monitor kernel logs for pktgen-related UBSAN or out-of-bounds events
The record
In the Linux kernel, the following vulnerability has been resolved: pktgen: Avoid out-of-bounds access in get_imix_entries Passing a sufficient amount of imix entries leads to invalid access to the pkt_dev->imix_entries array because of the incorrect boundary check. UBSAN: array-index-out-of-bounds in net/core/pktgen.c:874:24 index 20 is out of range for type 'imix_pkt [20]' CPU: 2 PID: 1210 Comm: bash Not tainted 6.10.0-rc1 #121 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) Call Trace: <TASK> dump_stack_lvl lib/dump_stack.c:117 __ubsan_handle_out_of_bounds lib/ubsan.c:429 get_imix_entries net/core/pktgen.c:874 pktgen_if_write net/core/pktgen.c:1063 pde_write fs/proc/inode.c:334 proc_reg_write fs/proc/inode.c:346 vfs_write fs/read_write.c:593 ksys_write fs/read_write.c:644 do_syscall_64 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe arch/x86/entry/entry_64.S:130 Found by Linux Verification Center (linuxtesting.org) with SVACE. [ fp: allow to fill the array completely; minor changelog cleanup ]
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | kernel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-devel-matched | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-devel-matched | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-abi-stablelists | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-cross-headers | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-devel-matched | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-uki-virt | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-devel-matched | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-doc | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-headers | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-modules-extra-matched | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-debug | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-debug-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-debug-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-debug-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-debug-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-debug-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-64k-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-debug | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-debug-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-debug-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-debug-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-debug-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-debug-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-rt-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-tools | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-tools-libs | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-tools-libs-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-uki-virt | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-uki-virt-addons | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump-devel | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump-devel-matched | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump-modules | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump-modules-core | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-zfcpdump-modules-extra | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | libperf | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | perf | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | python3-perf | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | rtla | 0 | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | rv | 0 | 6.12.0-124.8.1.el10_1 |
| Debian:11 | linux-6.1 | 0 | 6.1.128-1~deb11u1 |
| Debian:11 | linux-6.1 | 0 | 6.1.6.1.128-1~deb11u1 |
| Debian:12 | linux | 0 | 6.1.128-1 |
| Debian:13 | linux | 0 | 6.12.11-1 |
| Linux | Kernel | 5.15.0 | 5.15.177 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_0 | 0 | 16-150600.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_4 | 0 | 10-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_5 | 0 | 9-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_6 | 0 | 6-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_9 | 0 | 1-150600.1.3.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_2 | 0 | 15-150600.2.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_4 | 0 | 11-150600.2.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_7 | 0 | 6-150600.2.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_9 | 0 | 1-150600.13.3.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.42.2.150600.12.18.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.42.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco | 0 | 6.4.0-15061.18.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco_debug | 0 | 6.4.0-15061.18.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-source-coco | 0 | 6.4.0-15061.18.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-syms-coco | 0 | 6.4.0-15061.18.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.42.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.42.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.42.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 0 | 6.4.0-150600.8.31.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 0 | 6.4.0-150600.8.31.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 0 | 6.4.0-150600.8.31.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.42.2 |
| SUSE:Real Time Module 15 SP6 | kernel-rt | 0 | 6.4.0-150600.10.29.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt_debug | 0 | 6.4.0-150600.10.29.1 |
| SUSE:Real Time Module 15 SP6 | kernel-source-rt | 0 | 6.4.0-150600.10.29.1 |
| SUSE:Real Time Module 15 SP6 | kernel-syms-rt | 0 | 6.4.0-150600.10.29.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.42.1 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.42.2 |
| openSUSE:Leap 15.6 | kernel-azure | 0 | 6.4.0-150600.8.31.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.42.2 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.42.2 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.42.2.150600.12.18.4 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.42.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.42.2 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.42.2 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.42.1 |
| openSUSE:Leap 15.6 | kernel-rt | 0 | 6.4.0-150600.10.29.1 |
| openSUSE:Leap 15.6 | kernel-rt_debug | 0 | 6.4.0-150600.10.29.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.42.1 |
| openSUSE:Leap 15.6 | kernel-source-azure | 0 | 6.4.0-150600.8.31.1 |
| openSUSE:Leap 15.6 | kernel-source-rt | 0 | 6.4.0-150600.10.29.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.42.1 |
| openSUSE:Leap 15.6 | kernel-syms-azure | 0 | 6.4.0-150600.8.31.1 |
| openSUSE:Leap 15.6 | kernel-syms-rt | 0 | 6.4.0-150600.10.29.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.42.2 |
Related vulnerabilities
- CVE-2025-68285 In the Linux kernel, the following vulnerability has been resolved: libceph: fix… Also affects kernel
- CVE-2025-68287 In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: Fix race… Also affects kernel
- CVE-2025-40277 In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Validate… Also affects kernel
- CVE-2025-40240 In the Linux kernel, the following vulnerability has been resolved: sctp: avoid NULL… Also affects kernel
- CVE-2025-40185 In the Linux kernel, the following vulnerability has been resolved: ice: ice_adapter… Also affects kernel
- CVE-2025-40176 In the Linux kernel, the following vulnerability has been resolved: tls: wait for pending… Also affects kernel
- CVE-2025-40058 In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Disallow… Also affects kernel
- CVE-2025-40047 In the Linux kernel, the following vulnerability has been resolved: io_uring/waitid… Also affects kernel