GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-23466 (GCVE-0-2026-23466)

Vulnerability from cvelistv5 – Published: 2026-04-03 15:15 – Updated: 2026-08-05 12:22
VLAI
Title
drm/xe: Open-code GGTT MMIO access protection
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/xe: Open-code GGTT MMIO access protection GGTT MMIO access is currently protected by hotplug (drm_dev_enter), which works correctly when the driver loads successfully and is later unbound or unloaded. However, if driver load fails, this protection is insufficient because drm_dev_unplug() is never called. Additionally, devm release functions cannot guarantee that all BOs with GGTT mappings are destroyed before the GGTT MMIO region is removed, as some BOs may be freed asynchronously by worker threads. To address this, introduce an open-coded flag, protected by the GGTT lock, that guards GGTT MMIO access. The flag is cleared during the dev_fini_ggtt devm release function to ensure MMIO access is disabled once teardown begins. (cherry picked from commit 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 919bb54e989c1edef87e9797be125c94c450fc65 , < e2b424aadecb640f9e037b2891191cf8fd4c64cf (git)
Affected: 919bb54e989c1edef87e9797be125c94c450fc65 , < 1e9e2640d870d4837bcfdc220cb2c99ae5ee119f (git)
Affected: 919bb54e989c1edef87e9797be125c94c450fc65 , < 76326dc06d8793c2c81c31cc0115dbc348de2f88 (git)
Affected: 919bb54e989c1edef87e9797be125c94c450fc65 , < 01f2557aa684e514005541e71a3d01f4cd45c170 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.12.78 , ≤ 6.12.* (semver)
Unaffected: 6.18.20 , ≤ 6.18.* (semver)
Unaffected: 6.19.10 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (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/xe/xe_ggtt.c",
            "drivers/gpu/drm/xe/xe_ggtt_types.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e2b424aadecb640f9e037b2891191cf8fd4c64cf",
              "status": "affected",
              "version": "919bb54e989c1edef87e9797be125c94c450fc65",
              "versionType": "git"
            },
            {
              "lessThan": "1e9e2640d870d4837bcfdc220cb2c99ae5ee119f",
              "status": "affected",
              "version": "919bb54e989c1edef87e9797be125c94c450fc65",
              "versionType": "git"
            },
            {
              "lessThan": "76326dc06d8793c2c81c31cc0115dbc348de2f88",
              "status": "affected",
              "version": "919bb54e989c1edef87e9797be125c94c450fc65",
              "versionType": "git"
            },
            {
              "lessThan": "01f2557aa684e514005541e71a3d01f4cd45c170",
              "status": "affected",
              "version": "919bb54e989c1edef87e9797be125c94c450fc65",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/xe/xe_ggtt.c",
            "drivers/gpu/drm/xe/xe_ggtt_types.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.12"
            },
            {
              "lessThan": "6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.78",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.20",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.78",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.20",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.10",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/xe: Open-code GGTT MMIO access protection\n\nGGTT MMIO access is currently protected by hotplug (drm_dev_enter),\nwhich works correctly when the driver loads successfully and is later\nunbound or unloaded. However, if driver load fails, this protection is\ninsufficient because drm_dev_unplug() is never called.\n\nAdditionally, devm release functions cannot guarantee that all BOs with\nGGTT mappings are destroyed before the GGTT MMIO region is removed, as\nsome BOs may be freed asynchronously by worker threads.\n\nTo address this, introduce an open-coded flag, protected by the GGTT\nlock, that guards GGTT MMIO access. The flag is cleared during the\ndev_fini_ggtt devm release function to ensure MMIO access is disabled\nonce teardown begins.\n\n(cherry picked from commit 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)"
        }
      ],
      "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 vulnerable GGTT removal path is in the local Intel xe DRM driver teardown/probe-failure path, reached through local device/driver activity rather than network or adjacent input.\nAC:L - Once a probe-failure or teardown window exists with GGTT-mapped BO cleanup pending, the stale MMIO access follows from deterministic cleanup ordering; repeated local attempts can trigger the condition.\nPR:L - The path is local and tied to DRM/driver resources; although forcing probe failure may require stronger controls in some deployments, local DRM access and cleanup are involved, so Low is the higher defensible choice under the uncertainty rule.\nUI:N - No separate victim action is required after the local attacker triggers the driver/probe/cleanup sequence.\nS:U - The impact remains within the local kernel/driver security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:H - The bug is stale GGTT MMIO access after teardown, a use-after-unmap style memory corruption condition; under the required overestimation rule, such corruption is treated as potentially enabling broader kernel information disclosure.\nI:H - The vulnerable operation writes GGTT PTEs through a stale MMIO mapping after it may have been removed, so it can plausibly corrupt kernel or device state and is scored as high integrity impact.\nA:H - The observed failure mode is a kernel page fault/oops in `xe_ggtt_set_pte()` from `ggtt_node_remove_work_func()`, causing a kernel crash or severe availability loss."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:22:01.599Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e2b424aadecb640f9e037b2891191cf8fd4c64cf"
        },
        {
          "url": "https://git.kernel.org/stable/c/1e9e2640d870d4837bcfdc220cb2c99ae5ee119f"
        },
        {
          "url": "https://git.kernel.org/stable/c/76326dc06d8793c2c81c31cc0115dbc348de2f88"
        },
        {
          "url": "https://git.kernel.org/stable/c/01f2557aa684e514005541e71a3d01f4cd45c170"
        }
      ],
      "title": "drm/xe: Open-code GGTT MMIO access protection",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-23466",
    "datePublished": "2026-04-03T15:15:45.754Z",
    "dateReserved": "2026-01-13T15:37:46.021Z",
    "dateUpdated": "2026-08-05T12:22:01.599Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-23466",
      "date": "2026-09-14",
      "epss": "0.00129",
      "percentile": "0.02846"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-23466\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-04-03T16:16:34.017\",\"lastModified\":\"2026-07-24T22:10:00.140\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/xe: Open-code GGTT MMIO access protection\\n\\nGGTT MMIO access is currently protected by hotplug (drm_dev_enter),\\nwhich works correctly when the driver loads successfully and is later\\nunbound or unloaded. However, if driver load fails, this protection is\\ninsufficient because drm_dev_unplug() is never called.\\n\\nAdditionally, devm release functions cannot guarantee that all BOs with\\nGGTT mappings are destroyed before the GGTT MMIO region is removed, as\\nsome BOs may be freed asynchronously by worker threads.\\n\\nTo address this, introduce an open-coded flag, protected by the GGTT\\nlock, that guards GGTT MMIO access. The flag is cleared during the\\ndev_fini_ggtt devm release function to ensure MMIO access is disabled\\nonce teardown begins.\\n\\n(cherry picked from commit 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\ndrm/xe: Implementaci\u00f3n directa de la protecci\u00f3n de acceso MMIO de GGTT\\n\\nEl acceso MMIO de GGTT est\u00e1 actualmente protegido por hotplug (drm_dev_enter), lo que funciona correctamente cuando el controlador se carga con \u00e9xito y luego se desvincula o descarga. Sin embargo, si la carga del controlador falla, esta protecci\u00f3n es insuficiente porque drm_dev_unplug() nunca se llama.\\n\\nAdem\u00e1s, las funciones de liberaci\u00f3n de devm no pueden garantizar que todos los BOs con mapeos de GGTT sean destruidos antes de que se elimine la regi\u00f3n MMIO de GGTT, ya que algunos BOs pueden ser liberados asincr\u00f3nicamente por hilos de trabajo.\\n\\nPara abordar esto, se introduce un indicador de codificaci\u00f3n directa, protegido por el bloqueo de GGTT, que protege el acceso MMIO de GGTT. El indicador se borra durante la funci\u00f3n de liberaci\u00f3n de devm dev_fini_ggtt para asegurar que el acceso MMIO se deshabilite una vez que comienza el desmantelamiento.\\n\\n(seleccionado de la confirmaci\u00f3n 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/gpu/drm/xe/xe_ggtt.c\",\"drivers/gpu/drm/xe/xe_ggtt_types.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"919bb54e989c1edef87e9797be125c94c450fc65\",\"lessThan\":\"e2b424aadecb640f9e037b2891191cf8fd4c64cf\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"919bb54e989c1edef87e9797be125c94c450fc65\",\"lessThan\":\"1e9e2640d870d4837bcfdc220cb2c99ae5ee119f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"919bb54e989c1edef87e9797be125c94c450fc65\",\"lessThan\":\"76326dc06d8793c2c81c31cc0115dbc348de2f88\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"919bb54e989c1edef87e9797be125c94c450fc65\",\"lessThan\":\"01f2557aa684e514005541e71a3d01f4cd45c170\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/gpu/drm/xe/xe_ggtt.c\",\"drivers/gpu/drm/xe/xe_ggtt_types.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.12\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.12\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.78\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.20\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.19.10\",\"lessThanOrEqual\":\"6.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0\",\"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}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12\",\"versionEndExcluding\":\"6.12.78\",\"matchCriteriaId\":\"CF16B1DB-0D79-4F76-8B3C-57C79AB99F70\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.18.20\",\"matchCriteriaId\":\"E5571059-6552-48E7-9BEF-3E358C387171\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"6.19.10\",\"matchCriteriaId\":\"96D34333-38BE-4414-9E79-6EB764329581\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"F253B622-8837-4245-BCE5-A7BF8FC76A16\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"4AE85AD8-4641-4E7C-A2F4-305E2CD9EE64\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F666C8D8-6538-46D4-B318-87610DE64C34\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"02259FDA-961B-47BC-AE7F-93D7EC6E90C2\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/01f2557aa684e514005541e71a3d01f4cd45c170\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1e9e2640d870d4837bcfdc220cb2c99ae5ee119f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/76326dc06d8793c2c81c31cc0115dbc348de2f88\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e2b424aadecb640f9e037b2891191cf8fd4c64cf\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-14T11:46:54+00:00",
      "cve": "CVE-2026-23466",
      "id": "CVE-2026-23466",
      "initial_release_date": "2026-04-03T00:00:00+00:00",
      "product_status:fixed": "303",
      "product_status:known_affected": "98",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/xe: Open-code GGTT MMIO access protection",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23466.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-06T01:25:44Z",
      "cve": "CVE-2026-23466",
      "id": "CVE-2026-23466",
      "initial_release_date": "2026-04-03T23:27:09Z",
      "product_status:first_fixed": "2",
      "product_status:known_not_affected": "254",
      "product_status:recommended": "271",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-23466",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-23466.json",
      "version": "10"
    }
  }
}



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…