CVE-2026-74707 (GCVE-0-2026-74707)

Vulnerability from cvelistv5 – Published: 2026-08-22 15:33 – Updated: 2026-08-25 05:41
VLAI
Title
xsk: validate metadata when processing requests
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 CPE status
Linux Linux Affected: ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 , < 5fd121971912dee2f5af1efec64462ac722deb17 (git)
Affected: ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 , < 0cc7aa6e0d19027fdd42e6fbd156267ac1e3bbba (git)
Affected: ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 , < 849b1664dbda1cf6c63e0fd4f9dec23782b8c851 (git)
Affected: d9d736c416c9a85f84e15435ba82a177262e745b (git)
Affected: 6.14.2 , < 6.15 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.15
Unaffected: 0 , < 6.15 (semver)
Unaffected: 6.18.45 , ≤ 6.18.* (semver)
Unaffected: 7.1.9 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed 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",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74707",
      "date": "2026-09-01",
      "epss": "0.00135",
      "percentile": "0.03274"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-74707\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-22T16:16:45.433\",\"lastModified\":\"2026-08-25T06:18:55.180\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"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.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"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\",\"versions\":[{\"version\":\"ca4419f15abd19ba8be1e109661b60f9f5b6c9f0\",\"lessThan\":\"5fd121971912dee2f5af1efec64462ac722deb17\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ca4419f15abd19ba8be1e109661b60f9f5b6c9f0\",\"lessThan\":\"0cc7aa6e0d19027fdd42e6fbd156267ac1e3bbba\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ca4419f15abd19ba8be1e109661b60f9f5b6c9f0\",\"lessThan\":\"849b1664dbda1cf6c63e0fd4f9dec23782b8c851\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d9d736c416c9a85f84e15435ba82a177262e745b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6.14.2\",\"lessThan\":\"6.15\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"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\",\"versions\":[{\"version\":\"6.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.45\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.9\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0cc7aa6e0d19027fdd42e6fbd156267ac1e3bbba\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5fd121971912dee2f5af1efec64462ac722deb17\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/849b1664dbda1cf6c63e0fd4f9dec23782b8c851\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-25T08:55:09+00:00",
      "cve": "CVE-2026-74707",
      "id": "CVE-2026-74707",
      "initial_release_date": "2026-08-22T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: xsk: validate metadata when processing requests",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74707.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…