Skip to content
Heist/ feed
Back to feed
HighFix available

drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise Add validation in xe_vm_madvise_ioctl() to reject PAT indices with XE_COH_NONE coherency mode when applied to CPU cached memory. Using coh_none with CPU cached buffers is a security issue. When the kernel clears pages before reallocation, the clear operation stays in CPU cache (dirty). GPU with coh_none can bypass CPU caches and read stale sensitive data directly from DRAM, potentially leaking data from previously freed pages of other processes. This aligns with the existing validation in vm_bind path (xe_vm_bind_ioctl_validate_bo). v2(Matthew brost) - Add fixes - Move one debug print to better place v3(Matthew Auld) - Should be drm/xe/uapi - More Cc v4(Shuicheng Lin) - Fix kmem leak issues by the way v5 - Remove kmem leak because it has been merged by another patch v6 - Remove the fix which is not related to current fix v7 - No change v8 - Rebase v9 - Limit the restrictions to iGPU v10 - No change (cherry picked from commit 016ccdb674b8c899940b3944952c96a6a490d10a)

Products
Kernel
Affected versions
Not specified
Fixed versions
6.18.32, 7.0.9
CVEs
CVE-2026-46309
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 04:16 UTC · Revision 1

Source evidence

drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise

core-osv · Original source

Published 8 Jun 2026, 15:50 UTC

In the Linux kernel, the following vulnerability has been resolved: drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise Add validation in xe_vm_madvise_ioctl() to reject PAT indices with XE_COH_NONE coherency mode when applied to CPU cached memory. Using coh_none with CPU cached buffers is a security issue. When the kernel clears pages before reallocation, the clear operation stays in CPU cache (dirty). GPU with coh_none can bypass CPU caches and read stale sensitive data directly from DRAM, potentially leaking data from previously freed pages of other processes. This aligns with the existing validation in vm_bind path (xe_vm_bind_ioctl_validate_bo). v2(Matthew brost) - Add fixes - Move one debug print to better place v3(Matthew Auld) - Should be drm/xe/uapi - More Cc v4(Shuicheng Lin) - Fix kmem leak issues by the way v5 - Remove kmem leak because it has been merged by another patch v6 - Remove the fix which is not related to current fix v7 - No change v8 - Rebase v9 - Limit the restrictions to iGPU v10 - No change (cherry picked from commit 016ccdb674b8c899940b3944952c96a6a490d10a)

osv:CVE-2026-46309

Kernel

Fixed versions: 6.18.32, 7.0.9

Complete source record
{
  "id": "b36ca0f2283dc1bc1f98ecccff81c36f38484bd6c0216c99236de236fef61fc3",
  "url": "https://osv.dev/vulnerability/CVE-2026-46309",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise Add validation in xe_vm_madvise_ioctl() to reject PAT indices with XE_COH_NONE coherency mode when applied to CPU cached memory. Using coh_none with CPU cached buffers is a security issue. When the kernel clears pages before reallocation, the clear operation stays in CPU cache (dirty). GPU with coh_none can bypass CPU caches and read stale sensitive data directly from DRAM, potentially leaking data from previously freed pages of other processes. This aligns with the existing validation in vm_bind path (xe_vm_bind_ioctl_validate_bo). v2(Matthew brost) - Add fixes - Move one debug print to better place v3(Matthew Auld) - Should be drm/xe/uapi - More Cc v4(Shuicheng Lin) - Fix kmem leak issues by the way v5 - Remove kmem leak because it has been merged by another patch v6 - Remove the fix which is not related to current fix v7 - No change v8 - Rebase v9 - Limit the restrictions to iGPU v10 - No change (cherry picked from commit 016ccdb674b8c899940b3944952c96a6a490d10a)",
    "evidence": "osv:CVE-2026-46309",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.18.32",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.0.9",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-46309",
      "aliases": [
        "CVE-2026-46309"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "ada7486c5668db542a7d361268df931aca5b726a"
                },
                {
                  "fixed": "87f9b1528e1ffc1da3615d552c9a06aba5e20b00"
                },
                {
                  "fixed": "fea04cf6f2345bc50f15b6638906c35962b89424"
                },
                {
                  "fixed": "4e5591c2fc1b30f4ea5e2eab4c3a695acc404e39"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-46309.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.18.0"
                },
                {
                  "fixed": "6.18.32"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.0.9"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-46309.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.517644020Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/4e5591c2fc1b30f4ea5e2eab4c3a695acc404e39",
        "https://git.kernel.org/stable/c/87f9b1528e1ffc1da3615d552c9a06aba5e20b00",
        "https://git.kernel.org/stable/c/fea04cf6f2345bc50f15b6638906c35962b89424",
        "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-46309.json",
        "https://access.redhat.com/security/cve/CVE-2026-46309",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46309.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-46309",
        "https://bugzilla.redhat.com/show_bug.cgi?id=2486468",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46309.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-46309",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 510216,
  "published_at": "2026-06-08T15:50:39.689+00:00"
}