{"id":"CVE-2023-53090","state":"PUBLISHED","title":"drm/amdkfd: Fix an illegal memory access","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdkfd: Fix an illegal memory access\n\nIn the kfd_wait_on_events() function, the kfd_event_waiter structure is\nallocated by alloc_event_waiters(), but the event field of the waiter\nstructure is not initialized; When copy_from_user() fails in the\nkfd_wait_on_events() function, it will enter exception handling to\nrelease the previously allocated memory of the waiter structure;\nDue to the event field of the waiters structure being accessed\nin the free_waiters() function, this results in illegal memory access\nand system crash, here is the crash log:\n\nlocalhost kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x185/0x1e0\nlocalhost kernel: RSP: 0018:ffffaa53c362bd60 EFLAGS: 00010082\nlocalhost kernel: RAX: ff3d3d6bff4007cb RBX: 0000000000000282 RCX: 00000000002c0000\nlocalhost kernel: RDX: ffff9e855eeacb80 RSI: 000000000000279c RDI: ffffe7088f6a21d0\nlocalhost kernel: RBP: ffffe7088f6a21d0 R08: 00000000002c0000 R09: ffffaa53c362be64\nlocalhost kernel: R10: ffffaa53c362bbd8 R11: 0000000000000001 R12: 0000000000000002\nlocalhost kernel: R13: ffff9e7ead15d600 R14: 0000000000000000 R15: ffff9e7ead15d698\nlocalhost kernel: FS:  0000152a3d111700(0000) GS:ffff9e855ee80000(0000) knlGS:0000000000000000\nlocalhost kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nlocalhost kernel: CR2: 0000152938000010 CR3: 000000044d7a4000 CR4: 00000000003506e0\nlocalhost kernel: Call Trace:\nlocalhost kernel: _raw_spin_lock_irqsave+0x30/0x40\nlocalhost kernel: remove_wait_queue+0x12/0x50\nlocalhost kernel: kfd_wait_on_events+0x1b6/0x490 [hydcu]\nlocalhost kernel: ? ftrace_graph_caller+0xa0/0xa0\nlocalhost kernel: kfd_ioctl+0x38c/0x4a0 [hydcu]\nlocalhost kernel: ? kfd_ioctl_set_trap_handler+0x70/0x70 [hydcu]\nlocalhost kernel: ? kfd_ioctl_create_queue+0x5a0/0x5a0 [hydcu]\nlocalhost kernel: ? ftrace_graph_caller+0xa0/0xa0\nlocalhost kernel: __x64_sys_ioctl+0x8e/0xd0\nlocalhost kernel: ? syscall_trace_enter.isra.18+0x143/0x1b0\nlocalhost kernel: do_syscall_64+0x33/0x80\nlocalhost kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9\nlocalhost kernel: RIP: 0033:0x152a4dff68d7\n\nAllocate the structure with kcalloc, and remove redundant 0-initialization\nand a redundant loop condition check.","publishedAt":"2025-05-02T15:55:36.164Z","updatedAt":"2026-10-15T21:41:26.378Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"5a3fb3b745af0ce46ec2e0c8e507bae45b937334","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"bbf5eada4334a96e3a204b2307ff5b14dc380b0b","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"6936525142a015e854d0a23e9ad9ea0a28b3843d","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"2fece63b55c5d74cd6f5de51159e2cde37e10555","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"d9923e7214a870b312bf61f6a89c7554d0966985","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"61f306f8df0d5559659c5578cf6d95236bcdcb25","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"4fc8fff378b2f2039f2a666d9f8c570f4e58352c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/amdkfd/kfd_events.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.19","versionType":"semver"},{"version":"4.19.279","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.238","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.176","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.104","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.21","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2.8","status":"unaffected","lessThanOrEqual":"6.2.*","versionType":"semver"},{"version":"6.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/amdkfd/kfd_events.c"]}],"references":["https://git.kernel.org/stable/c/5a3fb3b745af0ce46ec2e0c8e507bae45b937334","https://git.kernel.org/stable/c/bbf5eada4334a96e3a204b2307ff5b14dc380b0b","https://git.kernel.org/stable/c/6936525142a015e854d0a23e9ad9ea0a28b3843d","https://git.kernel.org/stable/c/2fece63b55c5d74cd6f5de51159e2cde37e10555","https://git.kernel.org/stable/c/d9923e7214a870b312bf61f6a89c7554d0966985","https://git.kernel.org/stable/c/61f306f8df0d5559659c5578cf6d95236bcdcb25","https://git.kernel.org/stable/c/4fc8fff378b2f2039f2a666d9f8c570f4e58352c"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/53xxx/CVE-2023-53090.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53090","state":"PUBLISHED","datePublished":"2025-05-02T15:55:36.164Z","dateUpdated":"2026-10-15T21:41:26.378Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-02T15:51:43.551Z"},"containers":{"cna":{"title":"drm/amdkfd: Fix an illegal memory access","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdkfd: Fix an illegal memory access\n\nIn the kfd_wait_on_events() function, the kfd_event_waiter structure is\nallocated by alloc_event_waiters(), but the event field of the waiter\nstructure is not initialized; When copy_from_user() fails in the\nkfd_wait_on_events() function, it will enter exception handling to\nrelease the previously allocated memory of the waiter structure;\nDue to the event field of the waiters structure being accessed\nin the free_waiters() function, this results in illegal memory access\nand system crash, here is the crash log:\n\nlocalhost kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x185/0x1e0\nlocalhost kernel: RSP: 0018:ffffaa53c362bd60 EFLAGS: 00010082\nlocalhost kernel: RAX: ff3d3d6bff4007cb RBX: 0000000000000282 RCX: 00000000002c0000\nlocalhost kernel: RDX: ffff9e855eeacb80 RSI: 000000000000279c RDI: ffffe7088f6a21d0\nlocalhost kernel: RBP: ffffe7088f6a21d0 R08: 00000000002c0000 R09: ffffaa53c362be64\nlocalhost kernel: R10: ffffaa53c362bbd8 R11: 0000000000000001 R12: 0000000000000002\nlocalhost kernel: R13: ffff9e7ead15d600 R14: 0000000000000000 R15: ffff9e7ead15d698\nlocalhost kernel: FS:  0000152a3d111700(0000) GS:ffff9e855ee80000(0000) knlGS:0000000000000000\nlocalhost kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nlocalhost kernel: CR2: 0000152938000010 CR3: 000000044d7a4000 CR4: 00000000003506e0\nlocalhost kernel: Call Trace:\nlocalhost kernel: _raw_spin_lock_irqsave+0x30/0x40\nlocalhost kernel: remove_wait_queue+0x12/0x50\nlocalhost kernel: kfd_wait_on_events+0x1b6/0x490 [hydcu]\nlocalhost kernel: ? ftrace_graph_caller+0xa0/0xa0\nlocalhost kernel: kfd_ioctl+0x38c/0x4a0 [hydcu]\nlocalhost kernel: ? kfd_ioctl_set_trap_handler+0x70/0x70 [hydcu]\nlocalhost kernel: ? kfd_ioctl_create_queue+0x5a0/0x5a0 [hydcu]\nlocalhost kernel: ? ftrace_graph_caller+0xa0/0xa0\nlocalhost kernel: __x64_sys_ioctl+0x8e/0xd0\nlocalhost kernel: ? syscall_trace_enter.isra.18+0x143/0x1b0\nlocalhost kernel: do_syscall_64+0x33/0x80\nlocalhost kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9\nlocalhost kernel: RIP: 0033:0x152a4dff68d7\n\nAllocate the structure with kcalloc, and remove redundant 0-initialization\nand a redundant loop condition check."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"5a3fb3b745af0ce46ec2e0c8e507bae45b937334","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"bbf5eada4334a96e3a204b2307ff5b14dc380b0b","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"6936525142a015e854d0a23e9ad9ea0a28b3843d","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"2fece63b55c5d74cd6f5de51159e2cde37e10555","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"d9923e7214a870b312bf61f6a89c7554d0966985","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"61f306f8df0d5559659c5578cf6d95236bcdcb25","versionType":"git"},{"version":"4a488a7ad71401169cecee75dc94bcce642e2c53","status":"affected","lessThan":"4fc8fff378b2f2039f2a666d9f8c570f4e58352c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/amdkfd/kfd_events.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.19","versionType":"semver"},{"version":"4.19.279","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.238","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.176","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.104","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.21","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2.8","status":"unaffected","lessThanOrEqual":"6.2.*","versionType":"semver"},{"version":"6.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/amdkfd/kfd_events.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/5a3fb3b745af0ce46ec2e0c8e507bae45b937334"},{"url":"https://git.kernel.org/stable/c/bbf5eada4334a96e3a204b2307ff5b14dc380b0b"},{"url":"https://git.kernel.org/stable/c/6936525142a015e854d0a23e9ad9ea0a28b3843d"},{"url":"https://git.kernel.org/stable/c/2fece63b55c5d74cd6f5de51159e2cde37e10555"},{"url":"https://git.kernel.org/stable/c/d9923e7214a870b312bf61f6a89c7554d0966985"},{"url":"https://git.kernel.org/stable/c/61f306f8df0d5559659c5578cf6d95236bcdcb25"},{"url":"https://git.kernel.org/stable/c/4fc8fff378b2f2039f2a666d9f8c570f4e58352c"}],"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 - Triggered via the local AMDKFD_IOC_WAIT_EVENTS ioctl on /dev/kfd (kfd_ioctl → kfd_ioctl_wait_events → kfd_wait_on_events), not via network or adjacent protocols.\nAC:L - An attacker reliably triggers the path by opening /dev/kfd and issuing WAIT_EVENTS with a bad events_ptr so copy_from_user fails; heap spray to shape the uninitialized event pointer is fully under attacker control.\nPR:L - /dev/kfd is mode 0660 root:render with seat uaccess; WAIT_EVENTS has no capability check, so any unprivileged local user with normal GPU/render access can reach it.\nUI:N - The attacker opens /dev/kfd and issues the ioctl themselves; no separate victim action is required.\nS:U - Impact is confined to host-kernel memory corruption/DoS within the same OS security authority; no VM escape, IOMMU bypass, or other cross-boundary effect.\nC:H - Uninitialized kmalloc heap contents are treated as a kfd_event pointer; with slab spray the dangling use enables reading/reusing attacker-reclaimed object state as part of further kernel memory disclosure.\nI:H - free_waiters() performs spin_lock/unlock and wait-queue operations through the attacker-influenced wild event pointer, yielding kernel memory writes exploitable for corruption and control-flow hijack.\nA:H - The documented outcome is a kernel oops in native_queued_spin_lock_slowpath via remove_wait_queue, which is a full system availability loss."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T09:12:44.522Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"4.19.279"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"5.4.238"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"5.10.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"5.15.104"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"6.1.21"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"6.2.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"6.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-53090","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-15T21:33:42.414674Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-15T21:41:26.378Z"}}]}}}