{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-56775", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-12-29T11:26:39.766Z", "datePublished": "2025-01-08T17:49:13.907Z", "dateUpdated": "2026-08-05T11:46:26.696Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:46:26.696Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: Fix handling of plane refcount\n\n[Why]\nThe mechanism to backup and restore plane states doesn't maintain\nrefcount, which can cause issues if the refcount of the plane changes\nin between backup and restore operations, such as memory leaks if the\nrefcount was supposed to go down, or double frees / invalid memory\naccesses if the refcount was supposed to go up.\n\n[How]\nCache and re-apply current refcount when restoring plane states." } ], "metrics": [ { "cvssV3_1": { "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" }, "scenarios": [ { "lang": "en", "value": "AV:L - The vulnerable code is reached only through DRM atomic-commit/page-flip ioctls on the local `/dev/dri/card*` node (amdgpu_dm_atomic_commit_tail → dc_update_planes_and_stream), which requires local access to the machine. There is no remote or network-facing path into the amdgpu display core.\nAC:L - Userspace directly controls the plane topology, so it can deterministically drive UPDATE_TYPE_FULL commits that add/remove MPO planes and force the minimal-transition path where a plane's refcount changes between backup and restore. No condition outside the attacker's control is needed, and the sequence can be repeated in a loop until the corrupted refcount reaches zero.\nPR:L - An ordinary unprivileged user with a graphical seat (logind session or `video` group membership) is DRM master on the primary node and may issue atomic commits with overlay planes; no root or CAP_SYS_ADMIN is required.\nUI:N - The attacker triggers the faulty backup/restore sequence entirely through its own atomic commits; no victim action such as mounting media or opening a file is involved.\nS:U - The corruption stays within the kernel of the same machine and the impact is on kernel memory under the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Stomping the kref with a stale lower value causes premature kvfree() of the kvzalloc'd `dc_plane_state` while pipe contexts still reference it, so the attacker can reclaim the freed slab object and read back kernel memory through the dangling references — a use-after-free read primitive.\nI:H - The same use-after-free/double-free lets the attacker spray a controlled object into the freed allocation, and subsequent writes through the stale `plane_states[i]` pointers (including the function-pointer-bearing sub-structures freed in dc_plane_destruct) yield an arbitrary-write / control-flow-hijack primitive.\nA:H - Even without full exploitation, the mismatched refcount produces double frees and invalid memory accesses that oops or panic the kernel; the leak case (refcount restored too high) additionally exhausts memory over repeated commits." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/gpu/drm/amd/display/dc/core/dc.c" ], "versions": [ { "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c", "lessThan": "8cb2f6793845f135b28361ba8e96901cae3e5790", "status": "affected", "versionType": "git" }, { "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c", "lessThan": "27227a234c1487cb7a684615f0749c455218833a", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/gpu/drm/amd/display/dc/core/dc.c" ], "versions": [ { "version": "4.15", "status": "affected" }, { "version": "0", "lessThan": "4.15", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.4", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.13", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.15", "versionEndExcluding": "6.12.4" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.15", "versionEndExcluding": "6.13" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/8cb2f6793845f135b28361ba8e96901cae3e5790" }, { "url": "https://git.kernel.org/stable/c/27227a234c1487cb7a684615f0749c455218833a" } ], "title": "drm/amd/display: Fix handling of plane refcount", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "metrics": [ { "cvssV3_1": { "scope": "UNCHANGED", "version": "3.1", "baseScore": 7.8, "attackVector": "LOCAL", "baseSeverity": "HIGH", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "integrityImpact": "HIGH", "userInteraction": "NONE", "attackComplexity": "LOW", "availabilityImpact": "HIGH", "privilegesRequired": "LOW", "confidentialityImpact": "HIGH" } }, { "other": { "type": "ssvc", "content": { "id": "CVE-2024-56775", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "total" } ], "version": "2.0.3", "timestamp": "2025-10-01T19:56:42.047459Z" } } } ], "problemTypes": [ { "descriptions": [ { "lang": "en", "type": "CWE", "cweId": "CWE-415", "description": "CWE-415 Double Free" } ] } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2025-10-01T19:57:24.727Z" } } ] } }