CVE-2025-22060
NoneCVSS
—
EPSS
0.2%
Published
Apr 16, 2025
CISA due date
—
Cloudanix analysis
A flaw in how the system manages network hardware tables can let simultaneous changes corrupt settings and cause legitimate network traffic to be dropped until the software is updated.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in the mvpp2 parser allows concurrent TCAM/SRAM index register writes and shadow SRAM updates across CPUs, causing writes to span multiple rows or duplicate row allocations leading to corrupted classifier entries such as MVPP2_PE_MAC_UC_PROMISCUOUS.
Why it matters to the business
Network traffic can be silently dropped or misclassified on affected systems, disrupting connectivity and requiring emergency kernel updates on production Linux hosts that use the mvpp2 driver.
How an attack unfolds
An attacker with local access triggers concurrent execution of mvpp2_set_rx_mode on multiple CPUs; the non-atomic index configuration and unprotected shadow array cause TOCTOU errors that corrupt hardware parser tables, resulting in all unicast frames being dropped by the classifier.
How to fix it
Apply the kernel patch referenced by commit e3711163d14d02af9005e4cdad30899c565f13fb or upgrade to a fixed kernel build; for listed Red Hat packages update squid to 7:3.5.20-17.el7_9.11 or newer equivalent.
How to confirm the fix worked
Verify the running kernel contains commit e3711163d14d02af9005e4cdad30899c565f13fb, confirm rx_classifier_drops counter remains stable under load, and test concurrent rx mode changes do not produce corruption.
Typical attack path
- Obtain local code execution on a system using the mvpp2 Ethernet driver
- Trigger concurrent calls to rx mode configuration functions from multiple CPUs
- Exploit lack of locking around TCAM index writes and shadow SRAM allocation
- Corrupt classifier entries causing rx_classifier_drops to rise
- Deny service for incoming unicast traffic
How to detect it
Inspect kernel logs and network driver statistics for abrupt increases in rx_classifier_drops after concurrent rx mode changes; correlate with process activity that invokes mvpp2_set_rx_mode on multi-CPU systems.
- rx_classifier_drops counter spike
- MVPP2_PE_MAC_UC_PROMISCUOUS corruption
- concurrent mvpp2_set_rx_mode calls from multiple CPUs
What your security team should do
- Prioritize kernel updates on all systems exposing the mvpp2 driver within the published remediation window
- Monitor rx_classifier_drops and system logs for sudden unicast packet loss
- Restrict untrusted local code execution until patches are deployed
- Review downstream dependents and schedule staged rollouts for high-prevalence environments
The record
In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: Prevent parser TCAM memory corruption Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM information, from concurrent modifications. Both the TCAM and SRAM tables are indirectly accessed by configuring an index register that selects the row to read or write to. This means that operations must be atomic in order to, e.g., avoid spreading writes across multiple rows. Since the shadow SRAM array is used to find free rows in the hardware table, it must also be protected in order to avoid TOCTOU errors where multiple cores allocate the same row. This issue was detected in a situation where `mvpp2_set_rx_mode()` ran concurrently on two CPUs. In this particular case the MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the classifier unit to drop all incoming unicast - indicated by the `rx_classifier_drops` counter.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:11 | linux-6.1 | 0 | 6.1.137-1~deb11u1 |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | No fix |
| Debian:13 | linux | 0 | 6.12.25-1 |
| Linux | Kernel | 3.17.0 | 5.15.180 |
| 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 SP4 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP7 | kernel-default | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-64kb | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-docs | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-obs-build | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-syms | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-64kb | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-docs | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-obs-build | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-source | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-syms | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kernel-default | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kernel-default | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_68 | 0 | 1-8.3.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_69 | 0 | 1-8.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_41 | 0 | 1-150400.9.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_11 | 0 | 1-150600.1.3.2 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_11 | 0 | 1-150600.13.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP7 | kernel-default | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_1 | 0 | 1-150700.15.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-rt | 0 | 5.14.21-150400.15.121.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-source-rt | 0 | 5.14.21-150400.15.121.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-rt | 0 | 5.14.21-150400.15.121.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-source-rt | 0 | 5.14.21-150400.15.121.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.50.1.150600.12.22.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | kernel-64kb | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | kernel-default | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | kernel-default-base | 0 | 6.4.0-150700.53.3.1.150700.17.2.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | kernel-source | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | kernel-zfcpdump | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco | 0 | 6.4.0-15061.21.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco_debug | 0 | 6.4.0-15061.21.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-source-coco | 0 | 6.4.0-15061.21.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-syms-coco | 0 | 6.4.0-15061.21.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | kernel-docs | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | kernel-obs-build | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | kernel-source | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | kernel-syms | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP7 | kernel-default | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 0 | 6.4.0-150600.8.37.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 0 | 6.4.0-150600.8.37.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 0 | 6.4.0-150600.8.37.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP7 | kernel-azure | 0 | 6.4.0-150700.20.3.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP7 | kernel-source-azure | 0 | 6.4.0-150700.20.3.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP7 | kernel-syms-azure | 0 | 6.4.0-150700.20.3.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-default | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-default | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-source | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-source | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-syms | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-syms | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-64kb | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-docs | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-obs-build | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-source | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-syms | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-zfcpdump | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-default | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-default | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-source | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-source | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-syms | 0 | 4.12.14-122.258.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-syms | 0 | 4.12.14-122.261.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-docs | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-obs-build | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-source | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-syms | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.50.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP7 | kernel-default | 0 | 6.4.0-150700.53.3.1 |
| SUSE:Manager Proxy 4.3 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Manager Proxy 4.3 | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Manager Proxy 4.3 | kernel-source | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Manager Proxy 4.3 | kernel-syms | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Manager Server 4.3 | kernel-default | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Manager Server 4.3 | kernel-default-base | 0 | 5.14.21-150400.24.167.1.150400.24.84.1 |
| SUSE:Manager Server 4.3 | kernel-source | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Manager Server 4.3 | kernel-syms | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Manager Server 4.3 | kernel-zfcpdump | 0 | 5.14.21-150400.24.167.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt | 0 | 6.4.0-150600.10.39.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt_debug | 0 | 6.4.0-150600.10.39.1 |
| SUSE:Real Time Module 15 SP6 | kernel-source-rt | 0 | 6.4.0-150600.10.39.1 |
| SUSE:Real Time Module 15 SP6 | kernel-syms-rt | 0 | 6.4.0-150600.10.39.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-azure | 0 | 6.4.0-150600.8.37.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.50.1.150600.12.22.1 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-rt | 0 | 6.4.0-150600.10.39.1 |
| openSUSE:Leap 15.6 | kernel-rt_debug | 0 | 6.4.0-150600.10.39.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-source-azure | 0 | 6.4.0-150600.8.37.1 |
| openSUSE:Leap 15.6 | kernel-source-rt | 0 | 6.4.0-150600.10.39.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.50.1 |
| openSUSE:Leap 15.6 | kernel-syms-azure | 0 | 6.4.0-150600.8.37.1 |
| openSUSE:Leap 15.6 | kernel-syms-rt | 0 | 6.4.0-150600.10.39.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.50.1 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux