DF-3697 / manifest.json
{ "finding_id": "DF-3697", "title": "RLC v2_1 save-restore-list offset/size fields parsed without bounds check -> wild-pointer memcpy (OOB kernel heap read / panic)", "verdict": "not_reproduced", "impact": "none", "impact_on_hardware": "kernel heap OOB read copied into GPU-mapped firmware BO (info exposure) or page-fault panic", "threat_model": "attacker-controlled amdgpu RLC firmware image (root-replaced firmware file / compromised fw supply chain)", "reproduce": { "build": "cc -O2 -o fwgen_rlc fwgen_craft_rlc.c", "run": "./fwgen_rlc", "expected": "generates amdgpufw_raven_rlc.evil; on PSP-load AMD hardware installed as the RLC fw it drives amdgpu_ucode.c memcpy from fw->data+0x10000 (image is 256 B) -> OOB read/panic" }, "kernel_refs": [ "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:516", "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:524", "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:528", "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:532", "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:670", "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:715", "sys/dev/drm/amd/amdgpu/gfx_v9_0.c:776", "sys/dev/drm/amd/amdgpu/amdgpu_ucode.c:381", "sys/dev/drm/amd/amdgpu/amdgpu_ucode.c:251", "sys/dev/drm/amd/amdgpu/amdgpu_psp.c:428" ], "artifacts": [ "README.md", "VERDICT.md", "fwgen_craft_rlc.c", "build.sh", "run.sh", "build.log", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |