HIGH 8.6

CVE-2026-53217: Linux Kernel mvpp2 Driver DMA Cache Sync Vulnerability

A memory synchronization bug in the Linux kernel's Marvell PPv2 network driver can cause the CPU to read stale data from network packets on systems with non-coherent DMA (direct memory access). The hardware writes received network data to a specific memory offset, but the kernel's cache synchronization was reading from the wrong location and size, potentially missing the end of incoming frames. This means an attacker sending crafted network traffic could cause the kernel to process corrupted or incomplete packet data, leading to crashes, information disclosure, or potential code execution.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.6 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
Weaknesses (CWE)
Affected products
8 configuration(s)
Published / Modified
2026-06-25 / 2026-07-02

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: sync RX data at the hardware packet offset mvpp2 programs the RX queue packet offset, so hardware writes received data at dma_addr + MVPP2_SKB_HEADROOM. The current CPU sync starts at dma_addr and only covers rx_bytes + MVPP2_MH_SIZE bytes, which syncs the unused headroom and misses the same number of bytes at the packet tail. On non-coherent DMA systems this can leave the CPU reading stale cache contents for the end of the received frame. Use dma_sync_single_range_for_cpu() with MVPP2_SKB_HEADROOM as the range offset so the sync covers the Marvell header and packet data actually written by hardware.

8 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The mvpp2 driver configures the RX queue to write incoming packets at dma_addr + MVPP2_SKB_HEADROOM offset. However, the DMA cache synchronization call was incorrectly starting at dma_addr (missing the headroom offset) and covering only rx_bytes + MVPP2_MH_SIZE bytes. On non-coherent DMA architectures, this leaves tail bytes of the received frame unsynchronized, allowing the CPU to read stale cache contents instead of the actual packet data written by hardware. The fix uses dma_sync_single_range_for_cpu() with the proper range offset to ensure the sync covers the Marvell header and all packet data actually transferred by the NIC.

Business impact

This vulnerability affects any Linux-based network service running on hardware with non-coherent DMA—particularly common in ARM and PowerPC systems used in embedded appliances, network gear, and some edge computing platforms. A remote attacker can send crafted packets that trigger kernel memory corruption, leading to service disruption (denial of service), information leakage from kernel memory, or privilege escalation if the packet handling path crosses privilege boundaries. Organizations operating such systems could face unexpected downtime, data exposure, or compromise of network infrastructure.

Affected systems

Linux kernel across multiple versions running on systems with non-coherent DMA subsystems. The vulnerability is present in the mvpp2 Marvell network driver used by systems with Marvell PPv2 network interfaces—commonly found in ARM-based networking appliances, routers, storage devices, and embedded Linux systems. Standard x86/x64 systems with coherent DMA are not affected.

Exploitability

No public exploit code is known, and this has not been added to the Known Exploited Vulnerabilities (KEV) catalog. However, exploitation requires only network access and the ability to send packets to an affected system—no authentication or user interaction needed. Crafting malicious packets is straightforward for an attacker with basic networking knowledge. The barrier to exploitation is low; the main constraint is having a vulnerable system with the affected driver and non-coherent DMA architecture.

Remediation

Apply the kernel patch that replaces the standard dma_sync_single_for_cpu() call with dma_sync_single_range_for_cpu(), specifying MVPP2_SKB_HEADROOM as the range offset. This ensures synchronization covers the correct memory region written by hardware. Verify the patch against the Linux kernel security advisory for your distribution or kernel version. Systems unable to update immediately should restrict network access to trusted sources and monitor for unusual packet patterns.

Patch guidance

Check your Linux distribution's security advisories for a kernel update that addresses CVE-2026-53217. The fix is a targeted change to the mvpp2 driver's DMA synchronization logic. Kernel versions and patch availability vary by distribution (RHEL, Ubuntu, Debian, etc.); consult your vendor's advisory for specific version numbers and update instructions. Test patches in a staging environment first, particularly on network-critical systems. Reboot is required after kernel update.

Detection guidance

Monitor system logs for kernel oops, panic messages, or network driver errors correlating with unusual incoming traffic patterns. Tools like tcpdump can help identify malformed packets targeting the system. Kernel-level monitoring or eBPF-based detection could flag unexpected memory access patterns in the mvpp2 driver, though signature-based detection is difficult without known exploit samples. Device-specific intrusion detection tuned to your network appliances may catch related anomalies.

Why prioritize this

HIGH severity (CVSS 8.6) with remote, unauthenticated attack surface and no user interaction required. Impact spans confidentiality (information disclosure from kernel memory), integrity (packet data corruption), and availability (potential kernel crash). While not yet in active exploitation catalogs, the ease of triggering via network packets and the memory corruption nature make this a credible threat to affected infrastructure. Prioritize patching any ARM/PowerPC-based network appliances and embedded systems in your environment.

Risk score, explained

CVSS 3.1 score of 8.6 reflects: Attack Vector = Network (AV:N), Attack Complexity = Low (AC:L), no authentication required (PR:N), no user interaction (UI:N), scope unchanged (S:U), and impacts to confidentiality (High), integrity (Low), and availability (Low). The high score is justified by the remote, easy-to-trigger nature of the vulnerability and its reach into kernel memory, though full system compromise is not guaranteed. The actual risk in your environment depends on whether you operate systems with non-coherent DMA and Marvell PPv2 hardware.

Frequently asked questions

Does this affect my Linux servers running on standard x86-64 hardware?

No. This vulnerability is specific to systems with non-coherent DMA, which are typically ARM or PowerPC-based embedded systems, network appliances, and specialized edge devices. Standard x86-64 servers with coherent DMA are not affected.

Can an attacker exploit this without sending packets to my system?

No. Exploitation requires the attacker to send crafted network packets to a vulnerable system. There is no local privilege escalation path or kernel module loading mechanism disclosed. However, any attacker on the network path (or with network access to the appliance) can attempt this.

If I'm running an unaffected architecture, do I still need to patch?

Not for this specific vulnerability. However, it's good practice to keep your kernel current for defense-in-depth. Check your distribution's security advisories to confirm your kernel version is not affected before deprioritizing this patch.

What does non-coherent DMA mean, and how do I know if my system has it?

Non-coherent DMA means the network interface and CPU cache are not automatically kept in sync by hardware; the kernel must manually synchronize them. If you're unsure, check your device documentation or kernel boot messages. Marvell PPv2 devices and ARM SoCs commonly use non-coherent DMA. If your system uses a commercial network appliance or embedded device, contact the vendor.

This analysis is provided for informational and educational purposes. The vulnerability details, CVSS score, and affected product list are based on official CVE records and vendor advisories current as of the publication date. Actual exploitability and impact depend on your specific hardware, kernel version, and network configuration. Patch availability and version numbers should be verified against your Linux distribution's official security advisories before implementation. SEC.co assumes no liability for losses or damages arising from reliance on this analysis; conduct your own risk assessment and testing before deploying patches in production environments. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).