CVE-2026-74707 (GCVE-0-2026-74707)
Vulnerability from cvelistv5
Published
2026-08-22 15:33
Modified
2026-08-25 05:41
Summary
In the Linux kernel, the following vulnerability has been resolved: xsk: validate metadata when processing requests The zero-copy path validates TX metadata while obtaining the descriptor context, then reads it again later when preparing the hardware request. User space can change the metadata between those operations and bypass the original validation. Validate the metadata in xsk_tx_metadata_request() and use the resulting flags snapshot for every feature check. Read request fields once so all zero-copy drivers process only values observed after successful validation.
Impacted products
Vendor Product Version
Linux Linux Version: ca4419f15abd19ba8be1e109661b60f9f5b6c9f0
Version: ca4419f15abd19ba8be1e109661b60f9f5b6c9f0
Version: ca4419f15abd19ba8be1e109661b60f9f5b6c9f0
Version: d9d736c416c9a85f84e15435ba82a177262e745b
Version: 6.14.2   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/igc/igc_main.c",
            "drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c",
            "drivers/net/ethernet/stmicro/stmmac/stmmac_main.c",
            "include/net/libeth/xsk.h",
            "include/net/xdp_sock_drv.h",
            "net/xdp/xsk_buff_pool.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5fd121971912dee2f5af1efec64462ac722deb17",
              "status": "affected",
              "version": "ca4419f15abd19ba8be1e109661b60f9f5b6c9f0",
              "versionType": "git"
            },
            {
              "lessThan": "0cc7aa6e0d19027fdd42e6fbd156267ac1e3bbba",
              "status": "affected",
              "version": "ca4419f15abd19ba8be1e109661b60f9f5b6c9f0",
              "versionType": "git"
            },
            {
              "lessThan": "849b1664dbda1cf6c63e0fd4f9dec23782b8c851",
              "status": "affected",
              "version": "ca4419f15abd19ba8be1e109661b60f9f5b6c9f0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "d9d736c416c9a85f84e15435ba82a177262e745b",
              "versionType": "git"
            },
            {
              "lessThan": "6.15",
              "status": "affected",
              "version": "6.14.2",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/igc/igc_main.c",
            "drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c",
            "drivers/net/ethernet/stmicro/stmmac/stmmac_main.c",
            "include/net/libeth/xsk.h",
            "include/net/xdp_sock_drv.h",
            "net/xdp/xsk_buff_pool.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.15"
            },
            {
              "lessThan": "6.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.45",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.9",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.14.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxsk: validate metadata when processing requests\n\nThe zero-copy path validates TX metadata while obtaining the descriptor\ncontext, then reads it again later when preparing the hardware request.\nUser space can change the metadata between those operations and bypass the\noriginal validation.\n\nValidate the metadata in xsk_tx_metadata_request() and use the resulting\nflags snapshot for every feature check. Read request fields once so all\nzero-copy drivers process only values observed after successful\nvalidation."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The flaw is reached only through local AF_XDP setup (socket, UMEM registration, TX ring submission) and zero-copy driver transmit on bound netdev queues; remote peers cannot directly trigger xsk_tx_metadata_request() without local control of an AF_XDP socket.\nAC:L - The attacker fully controls mmap\u0027d UMEM metadata and can race concurrent writes (or helper threads) between early validation in get_ctx/get_metadata and the later xsk_tx_metadata_request() read, reliably creating the TOCTOU window.\nPR:L - Creating an AF_XDP socket requires CAP_NET_RAW in the relevant network user namespace (xsk_create); unprivileged local users can obtain this capability via user/network namespaces (e.g., unshare -Urn), matching CNA guidance for net stack local attack surface.\nUI:N - Exploitation requires only the attacker configuring AF_XDP zero-copy TX, crafting metadata, and submitting descriptors; no separate victim user action is needed beyond normal attacker-controlled local execution.\nS:U - Impact is confined to kernel/driver transmit state on the host where the AF_XDP socket runs; it does not cross VM, IOMMU, or sandbox security boundaries into another authority.\nC:H - Bypassing metadata validation can enable unchecked launch-time/checksum offload handlers that misread fields and corrupt kernel TX ring/descriptor state, providing a plausible kernel memory disclosure primitive consistent with related AF_XDP metadata TOCTOU issues.\nI:H - After validation, userspace can flip flags and request fields so zero-copy drivers (igc/stmmac/mlx5/libeth) program hardware with unvalidated launch_time or checksum requests, corrupting in-kernel TX descriptors and transmit control structures.\nA:H - Illegal hardware offload activation or corrupted TX ring accounting can kernel-oops, panic, or wedge NIC transmit queues; the attacker can repeatedly trigger the path via continuous AF_XDP zero-copy transmissions."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-25T05:41:50.013Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5fd121971912dee2f5af1efec64462ac722deb17"
        },
        {
          "url": "https://git.kernel.org/stable/c/0cc7aa6e0d19027fdd42e6fbd156267ac1e3bbba"
        },
        {
          "url": "https://git.kernel.org/stable/c/849b1664dbda1cf6c63e0fd4f9dec23782b8c851"
        }
      ],
      "title": "xsk: validate metadata when processing requests",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74707",
    "datePublished": "2026-08-22T15:33:05.337Z",
    "dateReserved": "2026-08-15T05:44:03.927Z",
    "dateUpdated": "2026-08-25T05:41:50.013Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…