CVE-2025-21997
NoneCVSS
—
EPSS
0.2%
Published
Apr 3, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel can make different parts of memory point to the same place, which might let attackers crash the system or gain extra access.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Data Exposure
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in xp_create_and_assign_umem() allows u32 product of index and chunk_size to wrap when cast to u64, resulting in multiple XDP buffers mapping the same memory region.
Why it matters to the business
Kernel memory corruption can cause system crashes, data corruption, or privilege escalation on affected Linux systems; high ecosystem prevalence increases exposure across servers and devices.
How an attack unfolds
An attacker supplies crafted parameters to xp_create_and_assign_umem() that trigger the u32 multiplication wrap-around; the resulting aliased buffers enable subsequent memory corruption primitives that may be chained into privilege escalation, consistent with patterns seen in related Linux kernel campaigns.
How to fix it
Upgrade the Linux kernel to the fixed commit 205649d642a5b376724f04f3a5b3586815e43d3b or later; for Red Hat Enterprise Linux 8 Dovecot packages apply version 1:2.3.8-9.el8 or newer.
How to confirm the fix worked
Confirm kernel source contains commit 205649d642a5b376724f04f3a5b3586815e43d3b; verify package versions match fixed releases; run regression tests exercising XDP umem creation with large chunk counts.
Typical attack path
- Identify reachable XDP socket interface
- Craft umem allocation request causing u32 overflow
- Obtain overlapping XDP buffer mappings
- Corrupt kernel memory structures
- Escalate to arbitrary code execution
How to detect it
Review kernel logs for XDP umem allocation failures or warnings around xp_create_and_assign_umem; inspect auditd and dmesg for anomalous buffer mapping events; correlate with threat actor TTPs listed for similar kernel privilege-escalation activity.
What your security team should do
- Prioritize kernel updates on all internet-facing and high-value systems within the CISA remediation window if applicable
- Monitor EPSS trend and reassess if score rises
- Restrict unprivileged XDP socket access until patched
- Audit for presence of the vulnerable commit in custom kernels
The record
In the Linux kernel, the following vulnerability has been resolved: xsk: fix an integer overflow in xp_create_and_assign_umem() Since the i and pool->chunk_size variables are of type 'u32', their product can wrap around and then be cast to 'u64'. This can lead to two different XDP buffers pointing to the same memory area. Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with SVACE.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | kernel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-devel-matched | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-devel-matched | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-64k-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-abi-stablelists | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-cross-headers | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-devel-matched | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-debug-uki-virt | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-devel-matched | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-doc | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-headers | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-kvm | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-kvm | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-rt-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-tools | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-tools-libs | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-tools-libs-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-uki-virt | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-uki-virt-addons | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-devel | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-devel-matched | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-modules | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-modules-core | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-modules-extra | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | libperf | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | perf | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | python3-perf | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | rtla | 0 | 5.14.0-570.21.1.el9_6 |
| AlmaLinux:9 | rv | 0 | 5.14.0-570.21.1.el9_6 |
| Debian:11 | linux-6.1 | 0 | 6.1.137-1~deb11u1 |
| Debian:12 | linux | 0 | No fix |
| Debian:12 | linux | 0 | 6.1.133-1 |
| Debian:13 | linux | 0 | No fix |
| Debian:13 | linux | 0 | 6.12.21-1 |
| Linux | Kernel | 5.16.0 | 6.1.132 |
| Mageia:9 | kernel | 0 | 6.6.88-3.mga9 |
| Mageia:9 | kernel-linus | 0 | 6.6.88-1.mga9 |
| Mageia:9 | kmod-virtualbox | 0 | 7.0.24-70.mga9 |
| Mageia:9 | kmod-xtables-addons | 0 | 3.24-78.mga9 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.60.5 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.60.5 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_13 | 0 | 1-150600.1.5.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_13 | 0 | 1-150600.13.6.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 0 | 6.4.0-150600.23.60.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.60.5 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.60.5.150600.12.26.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.60.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.60.4 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco_debug | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-source-coco | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-syms-coco | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.60.3 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.60.3 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.60.4 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.60.4 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.60.5 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 0 | 6.4.0-150600.8.43.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 0 | 6.4.0-150600.8.43.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 0 | 6.4.0-150600.8.43.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.60.5 |
| SUSE:Real Time Module 15 SP6 | kernel-rt | 0 | 6.4.0-150600.10.44.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt_debug | 0 | 6.4.0-150600.10.44.1 |
| SUSE:Real Time Module 15 SP6 | kernel-source-rt | 0 | 6.4.0-150600.10.44.1 |
| SUSE:Real Time Module 15 SP6 | kernel-syms-rt | 0 | 6.4.0-150600.10.44.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.60.3 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.60.4 |
| openSUSE:Leap 15.6 | kernel-azure | 0 | 6.4.0-150600.8.43.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.60.4 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.60.5 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.60.5.150600.12.26.4 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.60.3 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.60.4 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.60.3 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.60.2 |
| openSUSE:Leap 15.6 | kernel-rt | 0 | 6.4.0-150600.10.44.1 |
| openSUSE:Leap 15.6 | kernel-rt_debug | 0 | 6.4.0-150600.10.44.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.60.4 |
| openSUSE:Leap 15.6 | kernel-source-azure | 0 | 6.4.0-150600.8.43.1 |
| openSUSE:Leap 15.6 | kernel-source-rt | 0 | 6.4.0-150600.10.44.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.60.4 |
| openSUSE:Leap 15.6 | kernel-syms-azure | 0 | 6.4.0-150600.8.43.1 |
| openSUSE:Leap 15.6 | kernel-syms-rt | 0 | 6.4.0-150600.10.44.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.60.4 |
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-39981 In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: Fix… Also affects kernel