{"dataType":"CVE_RECORD","cveMetadata":{"cveId":"CVE-2024-27400","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-02-25T13:47:42.681Z","datePublished":"2024-05-13T10:26:13.504Z","dateUpdated":"2026-08-05T11:29:33.549Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:29:33.549Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2\n\nThis reverts drm/amdgpu: fix ftrace event amdgpu_bo_move always move\non same heap. The basic problem here is that after the move the old\nlocation is simply not available any more.\n\nSome fixes were suggested, but essentially we should call the move\nnotification before actually moving things because only this way we have\nthe correct order for DMA-buf and VM move notifications as well.\n\nAlso rework the statistic handling so that we don't update the eviction\ncounter before the move.\n\nv2: add missing NULL check"}],"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 amdgpu DRM device node (`/dev/dri/renderD128`) via GEM_CREATE/CS/GEM_OP ioctls; there is no network-facing consumer of `amdgpu_bo_move()`.\nAC:L - An unprivileged process deterministically forces the path by over-committing VRAM so TTM evicts buffers; `ttm_resource_free()` unconditionally kfree's `old_mem` before `trace_amdgpu_bo_move()` dereferences it, with no race or memory-layout precondition to win.\nPR:L - All required ioctls are marked `DRM_AUTH|DRM_RENDER_ALLOW`, so any local user with render-node access (default on desktops, ChromeOS, Steam Deck, and cloud GPU instances, and available inside browser GPU sandboxes) can trigger it with no capabilities.\nUI:N - The attacker's own process drives buffer allocation and eviction; no action by any other user or victim is needed.\nS:U - The freed `ttm_resource` and the misordered notifications are all kernel objects belonging to the same security authority; no VM, IOMMU, or sandbox boundary is crossed by the flaw itself.\nC:H - `old_mem->mem_type` is read out of a kfree'd slab object whose contents can be groomed by a concurrent allocation, and the stale value is exfiltrated through the `amdgpu_bo_move` trace event; consistent with use-after-free reads being treated as high confidentiality impact.\nI:H - Beyond the dangling read, the fix exists because `dma_buf_move_notify()` and `amdgpu_vm_bo_invalidate()` were running after relocation, leaving dma-buf importers and GPU page tables referencing a location already released and re-allocatable to another client, and a use-after-free of a heap object is the classic primitive for corrupting adjacent kernel state.\nA:H - The dangling load faults and oopses when the slab page has been returned to the page allocator (DEBUG_PAGEALLOC/KFENCE/MTE) and panics immediately on KASAN builds, and it fires on every VRAM eviction, so an unprivileged user can crash the machine repeatedly."}]}],"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/amdgpu/amdgpu_object.c","drivers/gpu/drm/amd/amdgpu/amdgpu_object.h","drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c"],"versions":[{"version":"d443fb67ca5ab04760449d21ddea66f6728e5b00","lessThan":"5c25b169f9a0b34ee410891a96bc9d7b9ed6f9be","status":"affected","versionType":"git"},{"version":"e7a0ee45c653784edda5e36bae6ae3c75fd5e7a8","lessThan":"0c7ed3ed35eec9138b88d42217b5a6b9a62bda4d","status":"affected","versionType":"git"},{"version":"94aeb4117343d072e3a35b9595bcbfc0058ee724","lessThan":"9a4f6e138720b6e9adf7b82a71d0292f3f276480","status":"affected","versionType":"git"},{"version":"94aeb4117343d072e3a35b9595bcbfc0058ee724","lessThan":"d3a9331a6591e9df64791e076f6591f440af51c3","status":"affected","versionType":"git"},{"version":"77bcd4ab446fa35ad135b1c7404415ed9a129296","status":"affected","versionType":"git"},{"version":"1cd2b612474c07b17a21e27f2eed8dff75cb5057","status":"affected","versionType":"git"},{"version":"6.1.77","lessThan":"6.1.91","status":"affected","versionType":"semver"},{"version":"6.6.16","lessThan":"6.6.31","status":"affected","versionType":"semver"},{"version":"5.15.149","lessThan":"5.16","status":"affected","versionType":"semver"},{"version":"6.7.4","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/amdgpu/amdgpu_object.c","drivers/gpu/drm/amd/amdgpu/amdgpu_object.h","drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c"],"versions":[{"version":"6.8","status":"affected"},{"version":"0","lessThan":"6.8","status":"unaffected","versionType":"semver"},{"version":"6.1.91","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.31","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.8.10","lessThanOrEqual":"6.8.*","status":"unaffected","versionType":"semver"},{"version":"6.9","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.1.77","versionEndExcluding":"6.1.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.16","versionEndExcluding":"6.6.31"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.8.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.149"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.7.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/5c25b169f9a0b34ee410891a96bc9d7b9ed6f9be"},{"url":"https://git.kernel.org/stable/c/0c7ed3ed35eec9138b88d42217b5a6b9a62bda4d"},{"url":"https://git.kernel.org/stable/c/9a4f6e138720b6e9adf7b82a71d0292f3f276480"},{"url":"https://git.kernel.org/stable/c/d3a9331a6591e9df64791e076f6591f440af51c3"}],"title":"drm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-02T00:34:52.126Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/5c25b169f9a0b34ee410891a96bc9d7b9ed6f9be","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/0c7ed3ed35eec9138b88d42217b5a6b9a62bda4d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/9a4f6e138720b6e9adf7b82a71d0292f3f276480","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d3a9331a6591e9df64791e076f6591f440af51c3","tags":["x_transferred"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OTB4HWU2PTVW5NEYHHLOCXDKG3PYA534/","tags":["x_transferred"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DW2MIOIMOFUSNLHLRYX23AFR36BMKD65/","tags":["x_transferred"]}]},{"metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-27400","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T15:43:22.534105Z"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-09-11T17:33:26.518Z"}}]},"dataVersion":"5.2"}