DF-4372 / verdict.json
{ "finding_id": "DF-4372", "status": "untested", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "PoC phase not executed for this Low-severity finding (per audit contract PoC is optional below Medium; additionally the audit VM has no radeon GPU, no /dev/dri, and the VBIOS is not attacker-controllable in a QEMU virtio-gpu VM). Defect is certain from inspection: r600_parse_extended_power_table dereferences usFanTableOffset (r600_dpm.c:893-895, versioned union reads :903-915) and usExtendendedHeaderOffset (r600_dpm.c:1070-1073) with no zero/bounds validation; offset 0 aliases the PowerPlayInfo header as the extended header and out-of-range offsets read past the <=256KiB kmallocd BIOS image. Sibling of DF-1566 (which covers the count/index walks); this covers the container-offset provenance.", "exploit_chain": "", "evidence": "VERDICT.md; README.md; fix.diff (3-file) verified APPLIES_CLEAN", "kernel_refs": [ "sys/dev/drm/radeon/r600_dpm.c:893", "sys/dev/drm/radeon/r600_dpm.c:1070", "sys/dev/drm/radeon/r600_dpm.c:1074", "sys/dev/drm/radeon/radeon_bios.c:68" ], "poc_changes": "none (no runnable PoC possible without radeon hardware and a crafted VBIOS)", "attempts": 0, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64", "runtime_sec": 0, "guest_dirty": 0, "build_cmd": "", "run_cmd": "", "code_hash": "", "notes": "Low severity sibling of DF-1566 with a distinct missing check (container offsets vs counts/indices). Do not re-test counts here \u2014 DF-1566 owns those.", "recommended_fix": "Plumb rdev->bios_size from the allocation sites and validate usFanTableOffset / usExtendendedHeaderOffset (non-zero, within image) before any dereference; gate all six ext-table blocks on the validated header (see fix.diff)", "fix_status": "not_testable", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "fix.diff authored post-verification (radeon.h + radeon_bios.c + r600_dpm.c); applies cleanly via patch -p1 --dry-run on scratch copies; runtime validation impossible on this VM (no radeon hardware)", "fix_evidence": "findings/poc/DF-4372/fix.diff; dry-run output checking file ... radeon.h / radeon_bios.c / r600_dpm.c / DF4372_APPLIES_CLEAN" } |