{"id":"CVE-2024-41022","state":"PUBLISHED","title":"drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()\n\nThe \"instance\" variable needs to be signed for the error handling to work.","publishedAt":"2024-07-29T13:34:23.507Z","updatedAt":"2026-08-05T11:34:47.470Z","severity":{"score":7,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:H/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":"5594971e02764aa1c8210ffb838cb4e7897716e8","status":"affected","lessThan":"3dd9734878a9042f0358301d19a2b006a0fc4d06","versionType":"git"},{"version":"8112fa72b7f139052843ff484130d6f97e9f052f","status":"affected","lessThan":"a5224e2123ce21102f346f518db80f004d5053a7","versionType":"git"},{"version":"ea906e9ac61e3152bef63597f2d9f4a812fc346a","status":"affected","lessThan":"544fa213f15d27f0370795845d55eeb3e00080d2","versionType":"git"},{"version":"011552f29f20842c9a7a21bffe1f6a2d6457ba46","status":"affected","lessThan":"e8dfbf83a82bbfb9680921719fbe65e535af59ea","versionType":"git"},{"version":"5b0a3dc3e87821acb80e841b464d335aff242691","status":"affected","lessThan":"4edb0a84e6b32e75dc9bd6dd085b2c2ff19ec287","versionType":"git"},{"version":"0964c84b93db7fbf74f357c1e20957850e092db3","status":"affected","lessThan":"d347c9a398bf7eab9408d207c0a50fb720f9de7d","versionType":"git"},{"version":"8b2faf1a4f3b6c748c0da36cda865a226534d520","status":"affected","lessThan":"298e2ce222e712ffafa47288c5b2fcf33d72fda3","versionType":"git"},{"version":"8b2faf1a4f3b6c748c0da36cda865a226534d520","status":"affected","lessThan":"6769a23697f17f9bf9365ca8ed62fe37e361a05a","versionType":"git"},{"version":"5.4.278","status":"affected","lessThan":"5.4.281","versionType":"semver"},{"version":"5.10.219","status":"affected","lessThan":"5.10.223","versionType":"semver"},{"version":"5.15.161","status":"affected","lessThan":"5.15.164","versionType":"semver"},{"version":"6.1.94","status":"affected","lessThan":"6.1.102","versionType":"semver"},{"version":"6.6.34","status":"affected","lessThan":"6.6.43","versionType":"semver"},{"version":"6.9.5","status":"affected","lessThan":"6.9.12","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.10","versionType":"semver"},{"version":"5.4.281","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.223","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.164","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.102","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.43","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.12","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10.2","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11","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/amdgpu/sdma_v4_0.c"]}],"references":["https://git.kernel.org/stable/c/3dd9734878a9042f0358301d19a2b006a0fc4d06","https://git.kernel.org/stable/c/a5224e2123ce21102f346f518db80f004d5053a7","https://git.kernel.org/stable/c/544fa213f15d27f0370795845d55eeb3e00080d2","https://git.kernel.org/stable/c/e8dfbf83a82bbfb9680921719fbe65e535af59ea","https://git.kernel.org/stable/c/4edb0a84e6b32e75dc9bd6dd085b2c2ff19ec287","https://git.kernel.org/stable/c/d347c9a398bf7eab9408d207c0a50fb720f9de7d","https://git.kernel.org/stable/c/298e2ce222e712ffafa47288c5b2fcf33d72fda3","https://git.kernel.org/stable/c/6769a23697f17f9bf9365ca8ed62fe37e361a05a","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:39.287Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/41xxx/CVE-2024-41022.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-41022","state":"PUBLISHED","datePublished":"2024-07-29T13:34:23.507Z","dateUpdated":"2026-08-05T11:34:47.470Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-12T12:17:45.614Z"},"containers":{"cna":{"title":"drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()\n\nThe \"instance\" variable needs to be signed for the error handling to work."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5594971e02764aa1c8210ffb838cb4e7897716e8","status":"affected","lessThan":"3dd9734878a9042f0358301d19a2b006a0fc4d06","versionType":"git"},{"version":"8112fa72b7f139052843ff484130d6f97e9f052f","status":"affected","lessThan":"a5224e2123ce21102f346f518db80f004d5053a7","versionType":"git"},{"version":"ea906e9ac61e3152bef63597f2d9f4a812fc346a","status":"affected","lessThan":"544fa213f15d27f0370795845d55eeb3e00080d2","versionType":"git"},{"version":"011552f29f20842c9a7a21bffe1f6a2d6457ba46","status":"affected","lessThan":"e8dfbf83a82bbfb9680921719fbe65e535af59ea","versionType":"git"},{"version":"5b0a3dc3e87821acb80e841b464d335aff242691","status":"affected","lessThan":"4edb0a84e6b32e75dc9bd6dd085b2c2ff19ec287","versionType":"git"},{"version":"0964c84b93db7fbf74f357c1e20957850e092db3","status":"affected","lessThan":"d347c9a398bf7eab9408d207c0a50fb720f9de7d","versionType":"git"},{"version":"8b2faf1a4f3b6c748c0da36cda865a226534d520","status":"affected","lessThan":"298e2ce222e712ffafa47288c5b2fcf33d72fda3","versionType":"git"},{"version":"8b2faf1a4f3b6c748c0da36cda865a226534d520","status":"affected","lessThan":"6769a23697f17f9bf9365ca8ed62fe37e361a05a","versionType":"git"},{"version":"5.4.278","status":"affected","lessThan":"5.4.281","versionType":"semver"},{"version":"5.10.219","status":"affected","lessThan":"5.10.223","versionType":"semver"},{"version":"5.15.161","status":"affected","lessThan":"5.15.164","versionType":"semver"},{"version":"6.1.94","status":"affected","lessThan":"6.1.102","versionType":"semver"},{"version":"6.6.34","status":"affected","lessThan":"6.6.43","versionType":"semver"},{"version":"6.9.5","status":"affected","lessThan":"6.9.12","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.10","versionType":"semver"},{"version":"5.4.281","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.223","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.164","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.102","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.43","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.12","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10.2","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11","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/amdgpu/sdma_v4_0.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3dd9734878a9042f0358301d19a2b006a0fc4d06"},{"url":"https://git.kernel.org/stable/c/a5224e2123ce21102f346f518db80f004d5053a7"},{"url":"https://git.kernel.org/stable/c/544fa213f15d27f0370795845d55eeb3e00080d2"},{"url":"https://git.kernel.org/stable/c/e8dfbf83a82bbfb9680921719fbe65e535af59ea"},{"url":"https://git.kernel.org/stable/c/4edb0a84e6b32e75dc9bd6dd085b2c2ff19ec287"},{"url":"https://git.kernel.org/stable/c/d347c9a398bf7eab9408d207c0a50fb720f9de7d"},{"url":"https://git.kernel.org/stable/c/298e2ce222e712ffafa47288c5b2fcf33d72fda3"},{"url":"https://git.kernel.org/stable/c/6769a23697f17f9bf9365ca8ed62fe37e361a05a"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The affected code is the amdgpu SDMA v4 trap interrupt handler, reached only through GPU activity driven from the local system via a DRM render node (/dev/dri/renderD*) or device-generated interrupts; there is no network-facing path to it.\nAC:H - The broken error path only executes when the interrupt vector carries an SDMA client_id that sdma_v4_0_irq_id_to_seq() does not map, yet amdgpu_irq_dispatch() only routes to this handler for client IDs explicitly registered by sw_init(), all of which map to valid seq 0-7 — so triggering it depends on malformed hardware/firmware interrupt data entirely outside the attacker's influence.\nPR:L - Exercising sdma_v4_0_process_trap_irq() requires only the ability to submit SDMA work through an unprivileged DRM render node, which is available to ordinary desktop/container users in the render group with no elevated capability.\nUI:N - The handler runs from interrupt context on GPU-generated SDMA traps that the attacker's own submissions produce; no action by any other user is needed.\nS:U - The out-of-bounds access stays within the kernel's own memory and security authority, with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - The unsigned conversion yields index 0xFFFFFFEA, and amdgpu_fence_process() reads fence_drv state, the adev back-pointer, and a dma_fence pointer through that far out-of-bounds address, exposing arbitrary kernel memory contents to fence-signalling logic.\nI:H - The wild pointer is not read-only — amdgpu_fence_process() performs atomic_cmpxchg on drv->last_seq, RCU_INIT_POINTER stores into drv->fences[], timer_delete() on an unvalidated timer_list, and dma_fence_signal()/dma_fence_put() through garbage ->ops function pointers, giving out-of-bounds writes and indirect-call hijack potential.\nA:H - Dereferencing an address roughly 11 TB past the amdgpu_device allocation faults in interrupt context, producing a kernel oops/panic and loss of the GPU and typically the whole system."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T11:34:47.470Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.278","versionEndExcluding":"5.4.281"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.219","versionEndExcluding":"5.10.223"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.161","versionEndExcluding":"5.15.164"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.94","versionEndExcluding":"6.1.102"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.34","versionEndExcluding":"6.6.43"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9.5","versionEndExcluding":"6.9.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.10.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.11"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/3dd9734878a9042f0358301d19a2b006a0fc4d06","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/a5224e2123ce21102f346f518db80f004d5053a7","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/544fa213f15d27f0370795845d55eeb3e00080d2","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/e8dfbf83a82bbfb9680921719fbe65e535af59ea","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/4edb0a84e6b32e75dc9bd6dd085b2c2ff19ec287","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d347c9a398bf7eab9408d207c0a50fb720f9de7d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/298e2ce222e712ffafa47288c5b2fcf33d72fda3","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/6769a23697f17f9bf9365ca8ed62fe37e361a05a","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T21:59:24.891Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-41022","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T16:24:22.256864Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:34:04.993Z"}}]}}}