DF-4904 / verdict.json
{ "finding_id": "DF-4904", "status": "untested", "reproduced": 0, "impact": "dos", "confidence": "likely", "verdict": "Type-level bug is certain: val is uint32_t (powernow.c:231), so cvid - (1<<mvs) underflows to ~4e9 whenever cvid < (1<<mvs) and the (val > 0) clamp at powernow.c:262 can never catch it; WRITE_FIDVID shifts the garbage into reserved bits 13-31 of MSR 0xc0010041 (harness in run.log shows the composed 0x000000fffffffd0a word). On AMD K8 silicon this either raises #GP (kernel panic) or misprograms the voltage-transition control logic. Kernel reproduction impossible on the Intel/QEMU audit guest (module CPUID gate refuses, MOD_LOAD error 2).", "exploit_chain": "", "evidence": "run.log (uid=1001 harness output showing underflow 0xfffffffd slipping through (val>0) and the malformed MSR word), sim_vidunderflow.c, VERDICT.md", "kernel_refs": [ "sys/dev/powermng/powernow/powernow.c:231", "sys/dev/powermng/powernow/powernow.c:260", "sys/dev/powermng/powernow/powernow.c:261", "sys/dev/powermng/powernow/powernow.c:262", "sys/dev/powermng/powernow/powernow.c:76" ], "poc_changes": "harness authored fresh; WRITE_FIDVID macro replicated exactly from powernow.c:76-78", "attempts": 1, "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": 20, "guest_dirty": 0, "build_cmd": "cc -Wall -O2 -o sim_vidunderflow sim_vidunderflow.c", "run_cmd": "./sim_vidunderflow", "code_hash": "91496d57e46bb6473f2539a3e5eebcc063b917f60ffcd79fa7ad234396808c46", "fix_status": "not_testable", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "Fix validation not run: path needs AMD K8 hardware. fix.diff (make val int32_t so the existing clamp works) applies cleanly with patch(1).", "fix_evidence": "fix.diff: checking file powernow.c / DF4904_APPLIES_CLEAN", "recommended_fix": "Declare val as int32_t (signed) so the existing (val > 0) ? val : 0 clamp catches the underflow.", "notes": "Trigger requires root sysctl write or the DF-4903 boot route on real K8 hardware with mvs>0 and low cvid states." } |