CVE-2025-39972 (GCVE-0-2025-39972)

Vulnerability from cvelistv5 – Published: 2025-10-15 07:55 – Updated: 2026-08-05 12:06
VLAI
Title
i40e: fix idx validation in i40e_validate_queue_map
Summary
In the Linux kernel, the following vulnerability has been resolved: i40e: fix idx validation in i40e_validate_queue_map Ensure idx is within range of active/initialized TCs when iterating over vf->ch[idx] in i40e_validate_queue_map().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < b6cb93a7ff208f324c7ec581d72995f80e115e0e (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < 6f15a7b34fae75e745bdc2ec05e06ddfd0dd2f3c (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < 34dfac0c904829967d500c51f216916ce1452957 (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < 4d5e804a9e19b639b18fd13664dbad3c03c79e61 (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < 50a1e2f50f6c22b93b94eb8d168a1be3c05bf5cd (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < cc4191e8ef40d2249c1b9a8617d22ec8a976b574 (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < d4e3eaaa3cb3af77836d806c89cd6ebf533a7320 (git)
Affected: c27eac48160de72dee33d42b5a33cc7b8a2eb1f5 , < aa68d3c3ac8d1dcec40d52ae27e39f6d32207009 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.17
Unaffected: 0 , < 4.17 (semver)
Unaffected: 5.4.300 , ≤ 5.4.* (semver)
Unaffected: 5.10.245 , ≤ 5.10.* (semver)
Unaffected: 5.15.194 , ≤ 5.15.* (semver)
Unaffected: 6.1.155 , ≤ 6.1.* (semver)
Unaffected: 6.6.109 , ≤ 6.6.* (semver)
Unaffected: 6.12.50 , ≤ 6.12.* (semver)
Unaffected: 6.16.10 , ≤ 6.16.* (semver)
Unaffected: 6.17 , ≤ * (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/i40e/i40e_virtchnl_pf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b6cb93a7ff208f324c7ec581d72995f80e115e0e",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "6f15a7b34fae75e745bdc2ec05e06ddfd0dd2f3c",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "34dfac0c904829967d500c51f216916ce1452957",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "4d5e804a9e19b639b18fd13664dbad3c03c79e61",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "50a1e2f50f6c22b93b94eb8d168a1be3c05bf5cd",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "cc4191e8ef40d2249c1b9a8617d22ec8a976b574",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "d4e3eaaa3cb3af77836d806c89cd6ebf533a7320",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            },
            {
              "lessThan": "aa68d3c3ac8d1dcec40d52ae27e39f6d32207009",
              "status": "affected",
              "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.17"
            },
            {
              "lessThan": "4.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.300",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.245",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.194",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.155",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.109",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.16.*",
              "status": "unaffected",
              "version": "6.16.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.17",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.300",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.245",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.194",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.155",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.109",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.50",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16.10",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni40e: fix idx validation in i40e_validate_queue_map\n\nEnsure idx is within range of active/initialized TCs when iterating over\nvf-\u003ech[idx] in i40e_validate_queue_map()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is the host PF driver\u0027s virtchnl mailbox handler, reached by a VF writing a `VIRTCHNL_OP_CONFIG_IRQ_MAP` message over PCIe, not by any network protocol. This is the standard local/guest-to-host vector used for SR-IOV VF-to-PF interface bugs.\nAC:L - The attacker fully controls both preconditions from inside the VF \u2014 it sends `VIRTCHNL_OP_ENABLE_CHANNELS` with `num_tc \u003c 4` and then a crafted `CONFIG_IRQ_MAP` with high queue-map bits set; the sequence is deterministic with no race or memory-layout dependency. The `spoofchk off` requirement is inherent to every deployment where ADq is used at all, i.e. exactly the deployments where the code is reachable.\nPR:L - The attacker needs only control of a VF that has been legitimately assigned to them \u2014 root inside their own guest VM or container, which is the normal granted privilege level of an SR-IOV tenant. No privilege on the host or in the PF\u0027s security authority is required, and the PF handler applies no capability or \"trusted VF\" check to this opcode.\nUI:N - The malicious VF driver sends the virtchnl messages entirely on its own initiative. No action by the host administrator or any other tenant is needed once a VF is assigned.\nS:C - The attacker is confined to a VF/guest security authority, but the bypassed validation causes the host PF driver to program hardware queue-interrupt registers (`I40E_QINT_RQCTL`/`I40E_QINT_TQCTL`) for queues outside the VF\u0027s allocation \u2014 resources owned by the PF (host) and by other VFs (other tenants). Impact therefore lands beyond the vulnerable component\u0027s security authority, as in a guest-to-host/cross-tenant escape.\nC:H - `i40e_vc_isvalid_queue_id()` is invoked with a stale/zero VSI id and performs no ownership check, letting a VF get its queue map validated against a VSI belonging to the PF or another VF and then attach foreign queues to its own MSI-X vector, exposing another tenant\u0027s data-path activity. Cross-tenant exposure of resources the VF has no right to observe warrants High.\nI:H - When the gate wrongly passes, `i40e_config_irq_link_list()` writes MMIO interrupt-control registers at PF-relative queue indices derived from unvalidated VF input, modifying hardware state owned by the PF and by other VFs. Unauthorized modification of another security authority\u0027s device configuration is a High integrity impact.\nA:H - Misprogramming `QINT_RQCTL`/`QINT_TQCTL` for queues belonging to the PF or other VFs breaks their Rx/Tx interrupt delivery, stalling the host\u0027s and co-tenant VMs\u0027 network data paths; queue contexts can also be pointed at `I40E_QUEUE_END_OF_LIST`, wedging the link list. A single unprivileged VF can repeat this at will, denying service to the whole port."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:06:41.675Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b6cb93a7ff208f324c7ec581d72995f80e115e0e"
        },
        {
          "url": "https://git.kernel.org/stable/c/6f15a7b34fae75e745bdc2ec05e06ddfd0dd2f3c"
        },
        {
          "url": "https://git.kernel.org/stable/c/34dfac0c904829967d500c51f216916ce1452957"
        },
        {
          "url": "https://git.kernel.org/stable/c/4d5e804a9e19b639b18fd13664dbad3c03c79e61"
        },
        {
          "url": "https://git.kernel.org/stable/c/50a1e2f50f6c22b93b94eb8d168a1be3c05bf5cd"
        },
        {
          "url": "https://git.kernel.org/stable/c/cc4191e8ef40d2249c1b9a8617d22ec8a976b574"
        },
        {
          "url": "https://git.kernel.org/stable/c/d4e3eaaa3cb3af77836d806c89cd6ebf533a7320"
        },
        {
          "url": "https://git.kernel.org/stable/c/aa68d3c3ac8d1dcec40d52ae27e39f6d32207009"
        }
      ],
      "title": "i40e: fix idx validation in i40e_validate_queue_map",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-39972",
    "datePublished": "2025-10-15T07:55:54.929Z",
    "dateReserved": "2025-04-16T07:20:57.149Z",
    "dateUpdated": "2026-08-05T12:06:41.675Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-39972",
      "date": "2026-09-24",
      "epss": "0.00154",
      "percentile": "0.0384"
    },
    "microsoft_vex": {
      "current_release_date": "2025-10-16T01:01:53.000Z",
      "cve": "CVE-2025-39972",
      "id": "msrc_CVE-2025-39972",
      "initial_release_date": "2025-10-02T00:00:00.000Z",
      "product_status:fixed": "1",
      "product_status:known_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "i40e: fix idx validation in i40e_validate_queue_map",
      "url": "https://msrc.microsoft.com/csaf/vex/2025/msrc_cve-2025-39972.json",
      "version": "1"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "b6cb93a7ff208f324c7ec581d72995f80e115e0e",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6f15a7b34fae75e745bdc2ec05e06ddfd0dd2f3c",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "34dfac0c904829967d500c51f216916ce1452957",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4d5e804a9e19b639b18fd13664dbad3c03c79e61",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "50a1e2f50f6c22b93b94eb8d168a1be3c05bf5cd",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "cc4191e8ef40d2249c1b9a8617d22ec8a976b574",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d4e3eaaa3cb3af77836d806c89cd6ebf533a7320",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "aa68d3c3ac8d1dcec40d52ae27e39f6d32207009",
                    "status": "affected",
                    "version": "c27eac48160de72dee33d42b5a33cc7b8a2eb1f5",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.17"
                  },
                  {
                    "lessThan": "4.17",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.4.*",
                    "status": "unaffected",
                    "version": "5.4.300",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.245",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.194",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.155",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.109",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.16.*",
                    "status": "unaffected",
                    "version": "6.16.10",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.17",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni40e: fix idx validation in i40e_validate_queue_map\n\nEnsure idx is within range of active/initialized TCs when iterating over\nvf-\u003ech[idx] in i40e_validate_queue_map()."
          }
        ],
        "id": "CVE-2025-39972",
        "lastModified": "2026-07-30T06:24:03.223",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.0,
              "impactScore": 6.0,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2025-10-15T08:15:34.880",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/34dfac0c904829967d500c51f216916ce1452957"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4d5e804a9e19b639b18fd13664dbad3c03c79e61"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/50a1e2f50f6c22b93b94eb8d168a1be3c05bf5cd"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6f15a7b34fae75e745bdc2ec05e06ddfd0dd2f3c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/aa68d3c3ac8d1dcec40d52ae27e39f6d32207009"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b6cb93a7ff208f324c7ec581d72995f80e115e0e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/cc4191e8ef40d2249c1b9a8617d22ec8a976b574"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d4e3eaaa3cb3af77836d806c89cd6ebf533a7320"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Deferred"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-30T08:57:17+00:00",
      "cve": "CVE-2025-39972",
      "id": "CVE-2025-39972",
      "initial_release_date": "2025-10-15T00:00:00+00:00",
      "product_status:known_affected": "260",
      "product_status:known_not_affected": "14",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: i40e: fix idx validation in i40e_validate_queue_map",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-39972.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…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…