DF-4248 / verdict.json
{ "finding_id": "DF-4248", "status": "untested", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "V1-branch twin of DF-1472: pp_tables_get_entry guards the legacy (ucTableFormatRevision<6) walk with entry_index > ucNumStates at :937, passing entry_index==ucNumStates; :940-957 then reads a state entry one past the array and iterates ucStateEntrySize-1 clock indices from OOB bytes. Reachable via pp_table swap between num_of_entries and get_entry calls or crafted V1 VBIOS. OOB read, Low.", "exploit_chain": "", "evidence": "VERDICT.md trace; fix hunk contained in DF-4247/fix.diff; run.log hardware probe.", "kernel_refs": [ "sys/dev/drm/amd/powerplay/hwmgr/processpptables.c:937", "sys/dev/drm/amd/powerplay/hwmgr/processpptables.c:940", "sys/dev/drm/amd/powerplay/hwmgr/processpptables.c:953" ], "poc_changes": "n/a - pass-2 finding; trigger documentation written fresh (hardware-gated, no seed PoC existed)", "attempts": 1, "guest_uname": "DragonFly dfbsd 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": 5, "guest_dirty": 0, "build_cmd": "see build.sh / build.log (hardware absent; mpr fixes compile-validated on guest)", "run_cmd": "./run.sh (hardware-gating probe)", "code_hash": "a73b0edfbf6e646b6a00779e6a604bde6575b6198bd3cd25504c4f346d715bde", "notes": "Distinct site from DF-1472 (which names get_state_entry_v2/:913 only). | Status untested = target device absent on guest (contracts not_testable class).", "recommended_fix": "entry_index >= ucNumStates at :937", "fix_status": "not_testable", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "not_testable: hardware-gated; one-token fix included in central diff.", "fix_evidence": ">\u53d8\u6210>= hunk present in DF-4247/fix.diff." } |