CVE-2025-38080 (GCVE-0-2025-38080)

Vulnerability from cvelistv5 – Published: 2025-06-18 09:33 – Updated: 2026-08-05 11:59
VLAI
Title
drm/amd/display: Increase block_sequence array size
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Increase block_sequence array size [Why] It's possible to generate more than 50 steps in hwss_build_fast_sequence, for example with a 6-pipe asic where all pipes are in one MPC chain. This overflows the block_sequence buffer and corrupts block_sequence_steps, causing a crash. [How] Expand block_sequence to 100 items. A naive upper bound on the possible number of steps for a 6-pipe asic, ignoring the potential for steps to be mutually exclusive, is 91 with current code, therefore 100 is sufficient.
Assigner
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c , < de67e80ab48f1f23663831007a2fa3c1471a7757 (git)
Affected: 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c , < e55c5704b12eeea27e212bfab8f7e51ad3e8ac1f (git)
Affected: 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c , < bf1666072e7482317cf2302621766482a21a62c7 (git)
Affected: 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c , < 3a7810c212bcf2f722671dadf4b23ff70a7d23ee (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.15
Unaffected: 0 , < 4.15 (semver)
Unaffected: 6.6.93 , ≤ 6.6.* (semver)
Unaffected: 6.12.31 , ≤ 6.12.* (semver)
Unaffected: 6.14.9 , ≤ 6.14.* (semver)
Unaffected: 6.15 , ≤ * (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/amd/display/dc/inc/core_types.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "de67e80ab48f1f23663831007a2fa3c1471a7757",
              "status": "affected",
              "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c",
              "versionType": "git"
            },
            {
              "lessThan": "e55c5704b12eeea27e212bfab8f7e51ad3e8ac1f",
              "status": "affected",
              "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c",
              "versionType": "git"
            },
            {
              "lessThan": "bf1666072e7482317cf2302621766482a21a62c7",
              "status": "affected",
              "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c",
              "versionType": "git"
            },
            {
              "lessThan": "3a7810c212bcf2f722671dadf4b23ff70a7d23ee",
              "status": "affected",
              "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/display/dc/inc/core_types.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.15"
            },
            {
              "lessThan": "4.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.93",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.31",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.93",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.31",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.9",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: Increase block_sequence array size\n\n[Why]\nIt\u0027s possible to generate more than 50 steps in hwss_build_fast_sequence,\nfor example with a 6-pipe asic where all pipes are in one MPC chain. This\noverflows the block_sequence buffer and corrupts block_sequence_steps,\ncausing a crash.\n\n[How]\nExpand block_sequence to 100 items. A naive upper bound on the possible\nnumber of steps for a 6-pipe asic, ignoring the potential for steps to be\nmutually exclusive, is 91 with current code, therefore 100 is sufficient."
        }
      ],
      "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 overflow is reached only through the local DRM atomic-commit/page-flip ioctl path on /dev/dri/cardN (amdgpu_dm_atomic_commit_tail \u2192 dc_update_planes_and_stream \u2192 commit_planes_for_stream_fast \u2192 hwss_build_fast_sequence). There is no network or adjacent-network exposure.\nAC:L - There is no bounds check whatsoever in hwss_build_fast_sequence, so an attacker who submits an atomic commit with many planes in one MPC chain and multiple simultaneous update flags (address, gamma, CTM/out_csc, gamut remap, bias/scale) deterministically drives the step count past 50 on the widely-deployed 6-pipe DCN2.0/DCN3.0 ASICs. No race, timing window, or attacker-uncontrollable state is involved.\nPR:L - Only an ordinary local user session is needed \u2014 logind grants the seat user rw access to /dev/dri/cardN and DRM master can be acquired on a free VT or by being the compositor, which is all the DRM_MASTER-gated atomic ioctl requires. No root or CAP_SYS_ADMIN is necessary.\nUI:N - The attacker issues the atomic commit itself; no action by another user or victim is required at any point in the path.\nS:U - The corruption is confined to kernel memory belonging to the same kernel security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The first overflowing write clobbers block_sequence_steps with a kernel pointer, after which hwss_execute_sequence iterates an enormous count, reading out-of-bounds kernel memory as block_sequence entries and dereferencing OOB-derived pointers (mpc, pipe_ctx, csc regval) into display hardware programming \u2014 an out-of-bounds read/disclosure primitive, and the in-struct spill over kref refcount enables a dc_state use-after-free that can be leveraged for arbitrary read.\nI:H - This is an unbounded out-of-bounds write: entries 50+ overwrite block_sequence_steps, dc_dmub_cmd[], dmub_cmd_count and the kref refcount, and once the counter holds pointer-derived garbage every further write lands far outside the kvzalloc\u0027d dc_state, giving a wild kernel-heap write usable for control-flow hijacking.\nA:H - The commit message states outright that the overflow corrupts block_sequence_steps and causes a crash; the resulting wild writes and OOB function-pointer dispatch reliably produce a kernel oops/panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:59:19.178Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/de67e80ab48f1f23663831007a2fa3c1471a7757"
        },
        {
          "url": "https://git.kernel.org/stable/c/e55c5704b12eeea27e212bfab8f7e51ad3e8ac1f"
        },
        {
          "url": "https://git.kernel.org/stable/c/bf1666072e7482317cf2302621766482a21a62c7"
        },
        {
          "url": "https://git.kernel.org/stable/c/3a7810c212bcf2f722671dadf4b23ff70a7d23ee"
        }
      ],
      "title": "drm/amd/display: Increase block_sequence array size",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38080",
    "datePublished": "2025-06-18T09:33:53.920Z",
    "dateReserved": "2025-04-16T04:51:23.980Z",
    "dateUpdated": "2026-08-05T11:59:19.178Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-38080",
      "date": "2026-08-17",
      "epss": "0.00147",
      "percentile": "0.04455"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38080\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-06-18T10:15:41.647\",\"lastModified\":\"2026-07-30T06:22:48.950\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amd/display: Increase block_sequence array size\\n\\n[Why]\\nIt\u0027s possible to generate more than 50 steps in hwss_build_fast_sequence,\\nfor example with a 6-pipe asic where all pipes are in one MPC chain. This\\noverflows the block_sequence buffer and corrupts block_sequence_steps,\\ncausing a crash.\\n\\n[How]\\nExpand block_sequence to 100 items. A naive upper bound on the possible\\nnumber of steps for a 6-pipe asic, ignoring the potential for steps to be\\nmutually exclusive, is 91 with current code, therefore 100 is sufficient.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Aumentar el tama\u00f1o de la matriz block_sequence [Por qu\u00e9] Es posible generar m\u00e1s de 50 pasos en hwss_build_fast_sequence, por ejemplo, con un ASIC de 6 tuber\u00edas donde todas las tuber\u00edas est\u00e1n en una cadena MPC. Esto desborda el b\u00fafer block_sequence y corrompe block_sequence_steps, lo que provoca un fallo. [C\u00f3mo] Ampliar block_sequence a 100 elementos. Un l\u00edmite superior simple para el n\u00famero posible de pasos para un ASIC de 6 tuber\u00edas, ignorando la posibilidad de que los pasos sean mutuamente excluyentes, es 91 con el c\u00f3digo actual; por lo tanto, 100 es suficiente.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/gpu/drm/amd/display/dc/inc/core_types.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\",\"lessThan\":\"de67e80ab48f1f23663831007a2fa3c1471a7757\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\",\"lessThan\":\"e55c5704b12eeea27e212bfab8f7e51ad3e8ac1f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\",\"lessThan\":\"bf1666072e7482317cf2302621766482a21a62c7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\",\"lessThan\":\"3a7810c212bcf2f722671dadf4b23ff70a7d23ee\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/gpu/drm/amd/display/dc/inc/core_types.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.93\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.31\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.14.9\",\"lessThanOrEqual\":\"6.14.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.15\",\"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},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"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\":\"4.15\",\"versionEndExcluding\":\"6.6.93\",\"matchCriteriaId\":\"CE0D2A5C-54AB-4F39-8991-7AC94FB5B780\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.31\",\"matchCriteriaId\":\"1AE98841-5774-4B45-A81C-2D188DB7E5C3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.14.9\",\"matchCriteriaId\":\"A9B72DD1-715C-4101-A720-1C8D70044C06\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3a7810c212bcf2f722671dadf4b23ff70a7d23ee\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/bf1666072e7482317cf2302621766482a21a62c7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/de67e80ab48f1f23663831007a2fa3c1471a7757\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e55c5704b12eeea27e212bfab8f7e51ad3e8ac1f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:32:08+00:00",
      "cve": "CVE-2025-38080",
      "id": "CVE-2025-38080",
      "initial_release_date": "2025-06-18T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/amd/display: Increase block_sequence array size",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-38080.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T00:51:54Z",
      "cve": "CVE-2025-38080",
      "id": "CVE-2025-38080",
      "initial_release_date": "2025-06-19T03:13:59Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "308",
      "product_status:recommended": "407",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2025-38080",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2025-38080.json",
      "version": "36"
    }
  }
}



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…