{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46218","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-05-13T15:03:33.105Z","datePublished":"2026-05-28T09:40:34.367Z","dateUpdated":"2026-08-05T12:30:34.974Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:30:34.974Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: Add bounds checking to ib_{get,set}_value\n\nThe uvd/vce/vcn code accesses the IB at predefined offsets without\nchecking that the IB is large enough. Check the bounds here. The caller\nis responsible for making sure it can handle arbitrary return values.\n\nAlso make the idx a uint32_t to prevent overflows causing the condition\nto fail."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - Triggered through the amdgpu command-submission ioctl (DRM_IOCTL_AMDGPU_CS), a local device-file interface; there is no network or adjacent-network path to the IB parser.\nAC:L - The attacker fully controls the IB contents and length, so a command stream that places the last command near the buffer end reliably forces the out-of-bounds access on every attempt.\nPR:L - The CS ioctl is DRM_RENDER_ALLOW, reachable through the render node (/dev/dri/renderD*) by any unprivileged local user (e.g. desktop/Android VA-API video decode/encode); no root, DRM master, or capability is required.\nUI:N - The attacking process submits the malicious command buffer itself; no action by another user is needed.\nS:U - The out-of-bounds access occurs in CPU-side kernel memory during command parsing, within the kernel's own security authority — no VM, IOMMU, or sandbox boundary is crossed.\nC:H - An attacker-controlled out-of-bounds read reads kernel IB-pool memory adjacent to the buffer; it is not strictly bounded (vcn_v4_0_enc_find_ib_param walks past the end with no limit) and the read values feed address/buffer processing, so per kernel guidance an unbounded OOB read is High.\nI:N - The defect is a read-only out-of-bounds access; all amdgpu_ib_set_value sites are already bounded by their callers, so there is no out-of-bounds write or other data-modification primitive.\nA:H - Reading past the end of the kernel sub-allocated IB pool buffer can hit an unmapped page and oops the kernel, and the unbounded VCN v4 parse walk can run far past the buffer, causing a crash/DoS."}]}],"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_ring.h"],"versions":[{"version":"d38ceaf99ed015f2a0b9af3499791bd3a3daae21","lessThan":"5da6c6430be0acb25b4242bce0323fc514d4e3cf","status":"affected","versionType":"git"},{"version":"d38ceaf99ed015f2a0b9af3499791bd3a3daae21","lessThan":"0fb5cb556b249b2b64c0f818136c4c3e838ef53f","status":"affected","versionType":"git"},{"version":"d38ceaf99ed015f2a0b9af3499791bd3a3daae21","lessThan":"a853178d23e774adfe3a35073c375b04b3b20f7d","status":"affected","versionType":"git"},{"version":"d38ceaf99ed015f2a0b9af3499791bd3a3daae21","lessThan":"fec8b11b55e53ff51a741e56894fe331a516f5c6","status":"affected","versionType":"git"},{"version":"d38ceaf99ed015f2a0b9af3499791bd3a3daae21","lessThan":"ee26fcf7c5cf131f0b6a732faa27d79ec61b8ec7","status":"affected","versionType":"git"},{"version":"d38ceaf99ed015f2a0b9af3499791bd3a3daae21","lessThan":"66085e206431ef88ce36f53c1f53d570790ccc9e","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/amdgpu/amdgpu_ring.h"],"versions":[{"version":"4.2","status":"affected"},{"version":"0","lessThan":"4.2","status":"unaffected","versionType":"semver"},{"version":"6.1.175","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.140","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.90","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.32","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.9","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","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.2","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.6.140"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.12.90"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.18.32"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"7.0.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/5da6c6430be0acb25b4242bce0323fc514d4e3cf"},{"url":"https://git.kernel.org/stable/c/0fb5cb556b249b2b64c0f818136c4c3e838ef53f"},{"url":"https://git.kernel.org/stable/c/a853178d23e774adfe3a35073c375b04b3b20f7d"},{"url":"https://git.kernel.org/stable/c/fec8b11b55e53ff51a741e56894fe331a516f5c6"},{"url":"https://git.kernel.org/stable/c/ee26fcf7c5cf131f0b6a732faa27d79ec61b8ec7"},{"url":"https://git.kernel.org/stable/c/66085e206431ef88ce36f53c1f53d570790ccc9e"}],"title":"drm/amdgpu: Add bounds checking to ib_{get,set}_value","x_generator":{"engine":"bippy-1.2.0"}}}}