CVE-2025-40276 (GCVE-0-2025-40276)

Vulnerability from cvelistv5 – Published: 2025-12-06 21:50 – Updated: 2026-08-05 12:09
VLAI
Title
drm/panthor: Flush shmem writes before mapping buffers CPU-uncached
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/panthor: Flush shmem writes before mapping buffers CPU-uncached The shmem layer zeroes out the new pages using cached mappings, and if we don't CPU-flush we might leave dirty cachelines behind, leading to potential data leaks and/or asynchronous buffer corruption when dirty cachelines are evicted.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 8a1cc07578bf42d85f008316873d710ff684dd29 , < 8355eea2a2e9c323021dfdcb95d7767d382123c4 (git)
Affected: 8a1cc07578bf42d85f008316873d710ff684dd29 , < 7a12f9c96d06b145562f76ffb20369b4692f0911 (git)
Affected: 8a1cc07578bf42d85f008316873d710ff684dd29 , < 576c930e5e7dcb937648490611a83f1bf0171048 (git)
Create a notification for this product.
Linux Linux Affected: 6.10
Unaffected: 0 , < 6.10 (semver)
Unaffected: 6.12.64 , ≤ 6.12.* (semver)
Unaffected: 6.17.9 , ≤ 6.17.* (semver)
Unaffected: 6.18 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/panthor/panthor_gem.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8355eea2a2e9c323021dfdcb95d7767d382123c4",
              "status": "affected",
              "version": "8a1cc07578bf42d85f008316873d710ff684dd29",
              "versionType": "git"
            },
            {
              "lessThan": "7a12f9c96d06b145562f76ffb20369b4692f0911",
              "status": "affected",
              "version": "8a1cc07578bf42d85f008316873d710ff684dd29",
              "versionType": "git"
            },
            {
              "lessThan": "576c930e5e7dcb937648490611a83f1bf0171048",
              "status": "affected",
              "version": "8a1cc07578bf42d85f008316873d710ff684dd29",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/panthor/panthor_gem.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "lessThan": "6.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.64",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.64",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.9",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/panthor: Flush shmem writes before mapping buffers CPU-uncached\n\nThe shmem layer zeroes out the new pages using cached mappings, and if\nwe don\u0027t CPU-flush we might leave dirty cachelines behind, leading to\npotential data leaks and/or asynchronous buffer corruption when dirty\ncachelines are evicted."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Exploitation requires local access to the DRM render node (`/dev/dri/renderD*`) via the PANTHOR_BO_CREATE / BO_MMAP_OFFSET ioctls and a subsequent mmap(). There is no remote or adjacent-network path to panthor GEM allocation.\nAC:L - The mechanism is deterministic, not a race: on non-coherent arm64 SoCs (all real panthor platforms) the zeroing is never flushed, so a WC mapping reliably reads stale DRAM, and the write-back clobber can be forced on demand by triggering `dma_map_sgtable()` via VM_BIND. No memory-layout grooming or timing window outside the attacker\u0027s control is needed.\nPR:L - All required ioctls are marked DRM_RENDER_ALLOW, so no authentication, DRM master status, or capability is checked \u2014 only an open fd on the render node. That is available to any unprivileged local user on a graphics-enabled system and to every app on Android/embedded Mali devices.\nUI:N - The attacker performs every step itself \u2014 open the render node, create the BO, obtain the mmap offset, mmap and read. No victim action or cooperation is required.\nS:U - The disclosure and corruption occur within the kernel/GPU-driver security authority acting on behalf of the calling process; no VM, IOMMU, or sandbox boundary is crossed by the flaw itself.\nC:H - Reads through the uncached mapping return residual physical DRAM contents from pages recycled by the buddy allocator, which may hold freed kernel data, page-cache contents, other processes\u0027 memory, or key material. The leak is unbounded in volume and arbitrarily repeatable by allocating large BOs in a loop, amounting to a general physical-memory disclosure primitive.\nI:L - Stale dirty cachelines are written back over data placed in the buffer through the uncached mapping, silently corrupting GPU command streams, descriptors, and compute results. The corruption is real and attacker-triggerable but is confined to the buffer\u0027s own pages and its content is not attacker-chosen, so it is not an arbitrary cross-domain write.\nA:H - A corrupted command stream raises CS_FATAL/CS_UNRECOVERABLE or a progress timeout, both of which call `panthor_device_schedule_reset()` and force a device-wide GPU reset that destroys every context on the system, not just the attacker\u0027s. On the phone, automotive, and embedded devices panthor targets, the GPU drives the display, so a locally repeatable reset storm denies graphics service to all users."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:09:08.824Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8355eea2a2e9c323021dfdcb95d7767d382123c4"
        },
        {
          "url": "https://git.kernel.org/stable/c/7a12f9c96d06b145562f76ffb20369b4692f0911"
        },
        {
          "url": "https://git.kernel.org/stable/c/576c930e5e7dcb937648490611a83f1bf0171048"
        }
      ],
      "title": "drm/panthor: Flush shmem writes before mapping buffers CPU-uncached",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-40276",
    "datePublished": "2025-12-06T21:50:59.035Z",
    "dateReserved": "2025-04-16T07:20:57.184Z",
    "dateUpdated": "2026-08-05T12:09:08.824Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-40276",
      "date": "2026-08-05",
      "epss": "0.00134",
      "percentile": "0.03338"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-40276\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-06T22:15:55.433\",\"lastModified\":\"2026-07-30T06:24:25.510\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/panthor: Flush shmem writes before mapping buffers CPU-uncached\\n\\nThe shmem layer zeroes out the new pages using cached mappings, and if\\nwe don\u0027t CPU-flush we might leave dirty cachelines behind, leading to\\npotential data leaks and/or asynchronous buffer corruption when dirty\\ncachelines are evicted.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/gpu/drm/panthor/panthor_gem.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"8a1cc07578bf42d85f008316873d710ff684dd29\",\"lessThan\":\"8355eea2a2e9c323021dfdcb95d7767d382123c4\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8a1cc07578bf42d85f008316873d710ff684dd29\",\"lessThan\":\"7a12f9c96d06b145562f76ffb20369b4692f0911\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8a1cc07578bf42d85f008316873d710ff684dd29\",\"lessThan\":\"576c930e5e7dcb937648490611a83f1bf0171048\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/gpu/drm/panthor/panthor_gem.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.10\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.10\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.64\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.17.9\",\"lessThanOrEqual\":\"6.17.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18\",\"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:L/A:H\",\"baseScore\":7.3,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.5}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/576c930e5e7dcb937648490611a83f1bf0171048\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7a12f9c96d06b145562f76ffb20369b4692f0911\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8355eea2a2e9c323021dfdcb95d7767d382123c4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:19:49+00:00",
      "cve": "CVE-2025-40276",
      "id": "CVE-2025-40276",
      "initial_release_date": "2025-12-06T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/panthor: Flush shmem writes before mapping buffers CPU-uncached",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-40276.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-31T01:02:08Z",
      "cve": "CVE-2025-40276",
      "id": "CVE-2025-40276",
      "initial_release_date": "2025-12-08T00:23:13Z",
      "product_status:first_fixed": "2",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "374",
      "product_status:recommended": "283",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2025-40276",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2025-40276.json",
      "version": "31"
    }
  }
}



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…