DF-3972 / verdict.json
{ "finding_id": "DF-3972", "status": "inconclusive", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "Source-certain NULL-deref: rdev->pm.dpm.boot_ps is only set under a BOOT-classified, fully-parsed VBIOS state (rv770_dpm.c:2172 within the ucStateEntrySize>1 block at 2304); radeon_pm_init_dpm ignores btc_dpm_inits return (radeon_pm.c:1448) and btc_dpm_enable dereferences the NULL boot_ps at btc_dpm.c:2446/2451/2485 via cypress_populate_smc_initial_state (cypress_dpm.c:1242,1266). Cannot reproduce: the QEMU guest has no AMD GPU (env.txt), and the trigger bytes live in the cards VBIOS PowerPlayInfo table. Same enabling sequence as the reproduced ni twin DF-3754.", "exploit_chain": "", "evidence": "VERDICT.md full trace; env.txt (guest PCI inventory: no 0x1002 device, no /dev/dri); kernel_refs below", "kernel_refs": [ "sys/dev/drm/radeon/btc_dpm.c:2377", "sys/dev/drm/radeon/btc_dpm.c:2446", "sys/dev/drm/radeon/btc_dpm.c:2451", "sys/dev/drm/radeon/btc_dpm.c:2485", "sys/dev/drm/radeon/btc_dpm.c:2526", "sys/dev/drm/radeon/rv770_dpm.c:2172", "sys/dev/drm/radeon/rv770_dpm.c:2304", "sys/dev/drm/radeon/radeon_pm.c:1448", "sys/dev/drm/radeon/cypress_dpm.c:1242" ], "poc_changes": "No PoC built: hardware-gated (Barts/Turks/Caicos VBIOS required). Evidence pack is a line-level source trace instead.", "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": 30, "guest_dirty": 0, "build_cmd": "", "run_cmd": "", "code_hash": "", "notes": "Family twin of DF-3610(si)/DF-3646(ci)/DF-3754(ni)/DF-3953(kv), btc file. DPM default-enabled. Physical-access/crafted-VBIOS threat model; kernel panic at drm attach.", "recommended_fix": "Validate rdev->pm.dpm.boot_ps != NULL after rv7xx_parse_power_table in btc_dpm_init and propagate btc_dpm_init failure in radeon_pm_init_dpm (radeon_pm.c:1448).", "fix_status": "not_testable", "fix_baseline_reproduced": null, "fix_patched_reproduced": null, "fix_verdict": "fix.diff authored (boot_ps guard + error propagation) but not build-testable: guest lacks any radeon GPU.", "fix_evidence": "findings/poc/DF-3972/fix.diff" } |