CVE-2026-74420 (GCVE-0-2026-74420)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:59 – Updated: 2026-08-17 05:19
VLAI
Title
drm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges VMAs marked with VM_IO or VM_PFNMAP are not backed by struct page objects, which GPUSVM requires in order to operate correctly. In particular, get_pages() relies on hmm_range_fault() to resolve struct pages for the target range. Attempting to create an SVM range on such VMAs results in repeated get_pages() failures and can lead to an infinite loop inside a driver’s page‑fault handler. Prevent this by rejecting ranges on VM_IO or VM_PFNMAP VMAs and returning -EIO.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 99624bdff8670795b678eafa6509aaad3a5c0175 , < 353f26c74660bcbd8d82cd76622748e14a5a5db3 (git)
Affected: 99624bdff8670795b678eafa6509aaad3a5c0175 , < 63f443384979563f16f70420f4fa85bba31238ca (git)
Affected: 99624bdff8670795b678eafa6509aaad3a5c0175 , < b82a225e57a334335a21462b75ee2223bc6efe6d (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.15
Unaffected: 0 , < 6.15 (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 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/gpu/drm/drm_gpusvm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "353f26c74660bcbd8d82cd76622748e14a5a5db3",
              "status": "affected",
              "version": "99624bdff8670795b678eafa6509aaad3a5c0175",
              "versionType": "git"
            },
            {
              "lessThan": "63f443384979563f16f70420f4fa85bba31238ca",
              "status": "affected",
              "version": "99624bdff8670795b678eafa6509aaad3a5c0175",
              "versionType": "git"
            },
            {
              "lessThan": "b82a225e57a334335a21462b75ee2223bc6efe6d",
              "status": "affected",
              "version": "99624bdff8670795b678eafa6509aaad3a5c0175",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/drm_gpusvm.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.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "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.40",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges\n\nVMAs marked with VM_IO or VM_PFNMAP are not backed by struct page\nobjects, which GPUSVM requires in order to operate correctly. In\nparticular, get_pages() relies on hmm_range_fault() to resolve struct\npages for the target range.\n\nAttempting to create an SVM range on such VMAs results in repeated\nget_pages() failures and can lead to an infinite loop inside a driver\u2019s\npage\u2011fault handler. Prevent this by rejecting ranges on VM_IO or\nVM_PFNMAP VMAs and returning -EIO."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:19:04.353Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/353f26c74660bcbd8d82cd76622748e14a5a5db3"
        },
        {
          "url": "https://git.kernel.org/stable/c/63f443384979563f16f70420f4fa85bba31238ca"
        },
        {
          "url": "https://git.kernel.org/stable/c/b82a225e57a334335a21462b75ee2223bc6efe6d"
        }
      ],
      "title": "drm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74420",
    "datePublished": "2026-08-15T05:59:24.704Z",
    "dateReserved": "2026-08-15T05:44:03.894Z",
    "dateUpdated": "2026-08-17T05:19:04.353Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74420",
      "date": "2026-09-20",
      "epss": "0.00155",
      "percentile": "0.0506"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/gpu/drm/drm_gpusvm.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "353f26c74660bcbd8d82cd76622748e14a5a5db3",
                    "status": "affected",
                    "version": "99624bdff8670795b678eafa6509aaad3a5c0175",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "63f443384979563f16f70420f4fa85bba31238ca",
                    "status": "affected",
                    "version": "99624bdff8670795b678eafa6509aaad3a5c0175",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b82a225e57a334335a21462b75ee2223bc6efe6d",
                    "status": "affected",
                    "version": "99624bdff8670795b678eafa6509aaad3a5c0175",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/gpu/drm/drm_gpusvm.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.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "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\ndrm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges\n\nVMAs marked with VM_IO or VM_PFNMAP are not backed by struct page\nobjects, which GPUSVM requires in order to operate correctly. In\nparticular, get_pages() relies on hmm_range_fault() to resolve struct\npages for the target range.\n\nAttempting to create an SVM range on such VMAs results in repeated\nget_pages() failures and can lead to an infinite loop inside a driver\u2019s\npage\u2011fault handler. Prevent this by rejecting ranges on VM_IO or\nVM_PFNMAP VMAs and returning -EIO."
          }
        ],
        "id": "CVE-2026-74420",
        "lastModified": "2026-08-17T06:19:37.467",
        "metrics": {},
        "published": "2026-08-15T06:22:44.100",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/353f26c74660bcbd8d82cd76622748e14a5a5db3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/63f443384979563f16f70420f4fa85bba31238ca"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b82a225e57a334335a21462b75ee2223bc6efe6d"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T10:00:51+00:00",
      "cve": "CVE-2026-74420",
      "id": "CVE-2026-74420",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74420.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…

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…