{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-53133","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-11-19T17:17:24.996Z","datePublished":"2024-12-04T14:20:39.077Z","dateUpdated":"2026-08-05T11:43:58.377Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:43:58.377Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: Handle dml allocation failure to avoid crash\n\n[Why]\nIn the case where a dml allocation fails for any reason, the\ncurrent state's dml contexts would no longer be valid. Then\nsubsequent calls dc_state_copy_internal would shallow copy\ninvalid memory and if the new state was released, a double\nfree would occur.\n\n[How]\nReset dml pointers in new_state to NULL and avoid invalid\npointer\n\n(cherry picked from commit bcafdc61529a48f6f06355d78eb41b3aeda5296c)"}],"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 path is reached through the DRM atomic modeset ioctl (`DRM_IOCTL_MODE_ATOMIC`) on `/dev/dri/card*`, requiring local access to the graphics device node. No network or physical-only interface is involved.\nAC:L - The trigger is a `kzalloc` failure of a multi-hundred-KB `struct dml2_context`, a high-order allocation that fails readily under memory pressure/fragmentation the attacker can induce, and the attacker can retry indefinitely with cheap `DRM_MODE_ATOMIC_TEST_ONLY` commits until it hits; once it hits, the dangling pointer persists in the global DM state.\nPR:L - An unprivileged local user with access to the AMD GPU device node (the logged-in seat/console user, a video-group member, or the compositor on Android/kiosk/embedded systems) can hold DRM master and issue atomic commits; no root or capability in the init namespace is needed.\nUI:N - The attacker performs the ioctl and the memory-pressure setup entirely on their own; no victim action is required, and subsequent UAF/double-free is then triggered by the attacker's own further atomic commits.\nS:U - The corruption is confined to kernel heap memory within the same security authority; there is no VM, IOMMU, or sandbox boundary crossed.\nC:H - After the erroneous free, `dml21_copy()` memcpys `sizeof(struct dml2_instance)` from a pointer read out of the freed (attacker-reclaimable) `dml2_context`, giving a controlled-source arbitrary kernel read; use-after-free of a large heap object is scored High.\nI:H - The bug yields a double free of the dml2 context plus an arbitrary `kfree()` of a pointer read from freed memory, classic heap-corruption primitives that can be leveraged into arbitrary write and control-flow hijack.\nA:H - The immediate observable effect is a kernel crash — the commit is explicitly titled \"avoid crash\", and the double free / dangling dml2 dereference will oops or panic the machine."}]}],"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_state.c"],"versions":[{"version":"abd26a3252cbd1a3ae4e46d37596d176fe50b41a","lessThan":"874ff59cde8fc525112dda26b501a1bac17dde9f","status":"affected","versionType":"git"},{"version":"abd26a3252cbd1a3ae4e46d37596d176fe50b41a","lessThan":"6825cb07b79ffeb1d90ffaa7a1227462cdca34ae","status":"affected","versionType":"git"},{"version":"2064f7529dfe0305d6fafda77fdf66701d428db5","status":"affected","versionType":"git"},{"version":"6.7.12","lessThan":"6.8","status":"affected","versionType":"semver"}]},{"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_state.c"],"versions":[{"version":"6.8","status":"affected"},{"version":"0","lessThan":"6.8","status":"unaffected","versionType":"semver"},{"version":"6.11.10","lessThanOrEqual":"6.11.*","status":"unaffected","versionType":"semver"},{"version":"6.12","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":"6.8","versionEndExcluding":"6.11.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.7.12"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/874ff59cde8fc525112dda26b501a1bac17dde9f"},{"url":"https://git.kernel.org/stable/c/6825cb07b79ffeb1d90ffaa7a1227462cdca34ae"}],"title":"drm/amd/display: Handle dml allocation failure to avoid crash","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-53133","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-10-01T20:10:09.297223Z"}}}],"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-01T20:17:09.922Z"}}]}}