Skip to content
Heist/ feed
Back to feed
CriticalFix available

net: mvpp2: refill RX buffers before XDP or skb use

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: refill RX buffers before XDP or skb use The RX error path returns the current descriptor buffer to the hardware BM pool. That is only valid while the driver still owns the buffer. mvpp2_rx_refill() can fail after the current buffer has been handed to XDP or attached to an skb. In those cases mvpp2_run_xdp() may have recycled, redirected, or queued the page for XDP_TX, and an skb free also retires the data buffer. Returning such a buffer to BM lets hardware DMA into memory that is no longer owned by the RX ring. Refill the BM pool before handing the current buffer to XDP or to the skb. If the allocation fails there, drop the packet and return the still-owned current buffer to BM, preserving the pool depth. Once the refill succeeds, later local drops retire/free the current buffer instead of returning it to BM.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.15.210, 6.1.176, 6.12.94, 6.18.36, 6.6.143, 7.0.13
CVEs
CVE-2026-53215
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 11:23 UTC · Revision 1

Source evidence

net: mvpp2: refill RX buffers before XDP or skb use

core-osv · Original source

Published 25 Jun 2026, 08:39 UTC

In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: refill RX buffers before XDP or skb use The RX error path returns the current descriptor buffer to the hardware BM pool. That is only valid while the driver still owns the buffer. mvpp2_rx_refill() can fail after the current buffer has been handed to XDP or attached to an skb. In those cases mvpp2_run_xdp() may have recycled, redirected, or queued the page for XDP_TX, and an skb free also retires the data buffer. Returning such a buffer to BM lets hardware DMA into memory that is no longer owned by the RX ring. Refill the BM pool before handing the current buffer to XDP or to the skb. If the allocation fails there, drop the packet and return the still-owned current buffer to BM, preserving the pool depth. Once the refill succeeds, later local drops retire/free the current buffer instead of returning it to BM.

osv:CVE-2026-53215

Kernel

Fixed versions: 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13

Complete source record
{
  "id": "5ff753706e24f53b74eda435dcc894fb4e41c031e1f3c29299dda1d69de7c3b7",
  "url": "https://osv.dev/vulnerability/CVE-2026-53215",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "net: mvpp2: refill RX buffers before XDP or skb use",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: refill RX buffers before XDP or skb use The RX error path returns the current descriptor buffer to the hardware BM pool. That is only valid while the driver still owns the buffer. mvpp2_rx_refill() can fail after the current buffer has been handed to XDP or attached to an skb. In those cases mvpp2_run_xdp() may have recycled, redirected, or queued the page for XDP_TX, and an skb free also retires the data buffer. Returning such a buffer to BM lets hardware DMA into memory that is no longer owned by the RX ring. Refill the BM pool before handing the current buffer to XDP or to the skb. If the allocation fails there, drop the packet and return the still-owned current buffer to BM, preserving the pool depth. Once the refill succeeds, later local drops retire/free the current buffer instead of returning it to BM.",
    "evidence": "osv:CVE-2026-53215",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.15.210",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.176",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.143",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.94",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.36",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.0.13",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-53215",
      "aliases": [
        "CVE-2026-53215"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "07dd0a7aae7f72af7cec18909581c2bb570edddc"
                },
                {
                  "fixed": "a88b3293b556f4d8fba11db9a8061a6b0d3b69e6"
                },
                {
                  "fixed": "a03cdcedb2cbcc42551dc3e4746929e93c5352d5"
                },
                {
                  "fixed": "580f92f27cb8724bcc4be98ee89890eab524a2ae"
                },
                {
                  "fixed": "d0c8c4fbd22d260fe28530260656c5fb3c20ce84"
                },
                {
                  "fixed": "8a2126c5afe89f8ceeb60a3afb9f075b736194cd"
                },
                {
                  "fixed": "02e1b5c4d3b4c658b72c145427cded1bba613fc1"
                },
                {
                  "fixed": "5e8e2a9624df72fca7c736b2966b2cbf6c9c3ff6"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5.7.15"
                },
                {
                  "fixed": "5.8"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5.8.2"
                },
                {
                  "fixed": "5.9"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "95a936364f2685e9e040c6b179b553604d96de22"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "fba2cf348d9eb50b2049a73cc09313dab6d293f1"
                }
              ]
            }
          ],
          "versions": [
            "v5.7.19",
            "v5.7.18",
            "v5.7.17",
            "v5.7.16",
            "v5.7.15",
            "v5.8.18",
            "v5.8.17",
            "v5.8.16",
            "v5.8.15",
            "v5.8.14",
            "v5.8.13",
            "v5.8.12",
            "v5.8.11",
            "v5.8.10",
            "v5.8.9",
            "v5.8.8",
            "v5.8.7",
            "v5.8.6",
            "v5.8.5",
            "v5.8.4",
            "v5.8.3",
            "v5.8.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53215.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.9.0"
                },
                {
                  "fixed": "5.15.210"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.176"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.143"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.94"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.36"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.0.13"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53215.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:34.540257436Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/02e1b5c4d3b4c658b72c145427cded1bba613fc1",
        "https://git.kernel.org/stable/c/580f92f27cb8724bcc4be98ee89890eab524a2ae",
        "https://git.kernel.org/stable/c/5e8e2a9624df72fca7c736b2966b2cbf6c9c3ff6",
        "https://git.kernel.org/stable/c/8a2126c5afe89f8ceeb60a3afb9f075b736194cd",
        "https://git.kernel.org/stable/c/a03cdcedb2cbcc42551dc3e4746929e93c5352d5",
        "https://git.kernel.org/stable/c/a88b3293b556f4d8fba11db9a8061a6b0d3b69e6",
        "https://git.kernel.org/stable/c/d0c8c4fbd22d260fe28530260656c5fb3c20ce84",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53215.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-53215",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53215.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-53215",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 502002,
  "published_at": "2026-06-25T08:39:18.875+00:00"
}