CVE-2026-74495 (GCVE-0-2026-74495)

Vulnerability from cvelistv5 – Published: 2026-08-15 12:27 – Updated: 2026-08-17 05:47
VLAI
Title
igbvf: Fix leak in TX DMA error cleanup
Summary
In the Linux kernel, the following vulnerability has been resolved: igbvf: Fix leak in TX DMA error cleanup If an error is encountered while mapping TX buffers, the driver should unmap any buffers already mapped for that skb. Because count is incremented before each frag mapping, it will always match the correct number of unmappings needed when dma_error is reached. Decrementing count before the while loop in dma_error causes an off-by-one error. If any mapping was successful before an unsuccessful mapping, exactly one DMA mapping (the head) would leak. This bug was introduced by a 2010 fix for an endless loop in dma_error. All other affected drivers have already been fixed.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: c1fa347f20f17f14a4a1575727fa24340e8a9117 , < 31089f4eab42e0fc248ec80c26f9b0bad59ba4cc (git)
Affected: c1fa347f20f17f14a4a1575727fa24340e8a9117 , < bc25d56c03e41c10bc4b40e99ca5d7b941675c04 (git)
Affected: c1fa347f20f17f14a4a1575727fa24340e8a9117 , < 845a9cdd9b03b7b6fa8de3ee80579780350a7f65 (git)
Affected: c1fa347f20f17f14a4a1575727fa24340e8a9117 , < df07003b5a6c6c9fce60d765d6a3da815a74c41c (git)
Affected: c1fa347f20f17f14a4a1575727fa24340e8a9117 , < 0565052b7e2f436b7f1541f4849da96dc0aa7a0e (git)
guessed Create a notification for this product.
Linux Linux Affected: 2.6.33
Unaffected: 0 , < 2.6.33 (semver)
Unaffected: 6.6.151 , ≤ 6.6.* (semver)
Unaffected: 6.12.103 , ≤ 6.12.* (semver)
Unaffected: 6.18.44 , ≤ 6.18.* (semver)
Unaffected: 7.1.8 , ≤ 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/igbvf/netdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "31089f4eab42e0fc248ec80c26f9b0bad59ba4cc",
              "status": "affected",
              "version": "c1fa347f20f17f14a4a1575727fa24340e8a9117",
              "versionType": "git"
            },
            {
              "lessThan": "bc25d56c03e41c10bc4b40e99ca5d7b941675c04",
              "status": "affected",
              "version": "c1fa347f20f17f14a4a1575727fa24340e8a9117",
              "versionType": "git"
            },
            {
              "lessThan": "845a9cdd9b03b7b6fa8de3ee80579780350a7f65",
              "status": "affected",
              "version": "c1fa347f20f17f14a4a1575727fa24340e8a9117",
              "versionType": "git"
            },
            {
              "lessThan": "df07003b5a6c6c9fce60d765d6a3da815a74c41c",
              "status": "affected",
              "version": "c1fa347f20f17f14a4a1575727fa24340e8a9117",
              "versionType": "git"
            },
            {
              "lessThan": "0565052b7e2f436b7f1541f4849da96dc0aa7a0e",
              "status": "affected",
              "version": "c1fa347f20f17f14a4a1575727fa24340e8a9117",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/igbvf/netdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.33"
            },
            {
              "lessThan": "2.6.33",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.151",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.103",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.44",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.8",
              "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.6.151",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.103",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.44",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.8",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nigbvf: Fix leak in TX DMA error cleanup\n\nIf an error is encountered while mapping TX buffers, the driver should\nunmap any buffers already mapped for that skb.\n\nBecause count is incremented before each frag mapping, it will always\nmatch the correct number of unmappings needed when dma_error is reached.\nDecrementing count before the while loop in dma_error causes an\noff-by-one error. If any mapping was successful before an unsuccessful\nmapping, exactly one DMA mapping (the head) would leak.\n\nThis bug was introduced by a 2010 fix for an endless loop in dma_error.\nAll other affected drivers have already been fixed."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The bug is in the igbvf VF transmit path reached whenever egress skbs are queued, including fragmented replies or forwarded traffic from remote peers on SR-IOV cloud/tenant networks with internet-facing VFs.\nAC:L - No race is required; an attacker can repeatedly drive fragmented TX skbs and SWIOTLB/DMA-mapping pressure until skb_frag_dma_map fails after a successful head map, deterministically hitting the off-by-one dma_error cleanup.\nPR:N - Reaching ndo_start_xmit via normal sockets on the VF requires no kernel capabilities; co-tenant or internet-facing traffic can induce the leaky dma_error path without local credentials on the victim.\nUI:N - No victim interaction is needed beyond the VF carrying traffic; the leak occurs automatically in dma_error cleanup during transmit once mapping failure conditions are met.\nS:U - Impact is confined to the kernel/DMA resources of the guest or host running igbvf and does not by itself cross a hypervisor, IOMMU isolation, or separate security authority boundary.\nC:H - The error path frees the skb while its head DMA/IOMMU mapping remains in buffer_info, so freed pages can be reallocated while still mapped, enabling plausible kernel memory disclosure via stale DMA state.\nI:H - Reusing the descriptor slot without unmapping the leaked head mapping corrupts driver/IOMMU metadata and accumulates orphan mappings, a defensible path to driver heap corruption or write primitives.\nA:H - Each leaked TX DMA/IOMMU mapping consumes finite SWIOTLB/IOMMU resources; repeated triggering can exhaust mappings and break transmit or disable the VF entirely."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:47:50.638Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/31089f4eab42e0fc248ec80c26f9b0bad59ba4cc"
        },
        {
          "url": "https://git.kernel.org/stable/c/bc25d56c03e41c10bc4b40e99ca5d7b941675c04"
        },
        {
          "url": "https://git.kernel.org/stable/c/845a9cdd9b03b7b6fa8de3ee80579780350a7f65"
        },
        {
          "url": "https://git.kernel.org/stable/c/df07003b5a6c6c9fce60d765d6a3da815a74c41c"
        },
        {
          "url": "https://git.kernel.org/stable/c/0565052b7e2f436b7f1541f4849da96dc0aa7a0e"
        }
      ],
      "title": "igbvf: Fix leak in TX DMA error cleanup",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74495",
    "datePublished": "2026-08-15T12:27:23.229Z",
    "dateReserved": "2026-08-15T05:44:03.906Z",
    "dateUpdated": "2026-08-17T05:47:50.638Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74495",
      "date": "2026-08-18",
      "epss": "0.00457",
      "percentile": "0.37862"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-74495\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T13:17:54.453\",\"lastModified\":\"2026-08-17T06:19:45.830\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nigbvf: Fix leak in TX DMA error cleanup\\n\\nIf an error is encountered while mapping TX buffers, the driver should\\nunmap any buffers already mapped for that skb.\\n\\nBecause count is incremented before each frag mapping, it will always\\nmatch the correct number of unmappings needed when dma_error is reached.\\nDecrementing count before the while loop in dma_error causes an\\noff-by-one error. If any mapping was successful before an unsuccessful\\nmapping, exactly one DMA mapping (the head) would leak.\\n\\nThis bug was introduced by a 2010 fix for an endless loop in dma_error.\\nAll other affected drivers have already been fixed.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/ethernet/intel/igbvf/netdev.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"c1fa347f20f17f14a4a1575727fa24340e8a9117\",\"lessThan\":\"31089f4eab42e0fc248ec80c26f9b0bad59ba4cc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"c1fa347f20f17f14a4a1575727fa24340e8a9117\",\"lessThan\":\"bc25d56c03e41c10bc4b40e99ca5d7b941675c04\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"c1fa347f20f17f14a4a1575727fa24340e8a9117\",\"lessThan\":\"845a9cdd9b03b7b6fa8de3ee80579780350a7f65\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"c1fa347f20f17f14a4a1575727fa24340e8a9117\",\"lessThan\":\"df07003b5a6c6c9fce60d765d6a3da815a74c41c\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"c1fa347f20f17f14a4a1575727fa24340e8a9117\",\"lessThan\":\"0565052b7e2f436b7f1541f4849da96dc0aa7a0e\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/ethernet/intel/igbvf/netdev.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"2.6.33\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"2.6.33\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.151\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.103\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.44\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.8\",\"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:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0565052b7e2f436b7f1541f4849da96dc0aa7a0e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/31089f4eab42e0fc248ec80c26f9b0bad59ba4cc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/845a9cdd9b03b7b6fa8de3ee80579780350a7f65\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bc25d56c03e41c10bc4b40e99ca5d7b941675c04\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/df07003b5a6c6c9fce60d765d6a3da815a74c41c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "suse_vex": {
      "aggregate_severity": "critical",
      "current_release_date": "2026-08-17T16:26:19Z",
      "cve": "CVE-2026-74495",
      "id": "CVE-2026-74495",
      "initial_release_date": "2026-08-15T23:51:37Z",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-74495",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-74495.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…