⬢ DragonFlyBSD Kernel Audit
DF-4768 / verdict.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4768",
  "status": "inconclusive",
  "reproduced": 0,
  "impact": "none",
  "confidence": "likely",
  "verdict": "SOURCE-CONFIRMED, INCONCLUSIVE-RUNTIME (no AMD GPU on audit guest). psp_cmd_submit_buf (amdgpu_psp.c:137-142) checks the PSP firmware response status only when ucode!=NULL, so psp_tmr_load (:193, GFX_CMD_ID_SETUP_TMR) and psp_asd_load (:260, GFX_CMD_ID_LOAD_ASD) return the ring-write status even when the firmware rejected the command (resp.status != 0): psp_hw_start reports success and psp_np_fw_load proceeds to load security ucode into a Trusted Memory Region the PSP never established, silently. Correctness/secure-boot-state issue, not kernel memory corruption; Info severity, hardware verification impossible on this guest.",
  "exploit_chain": "",
  "evidence": "README.md / VERDICT.md (path:line chain); fix.diff.",
  "kernel_refs": [
    "sys/dev/drm/amd/amdgpu/amdgpu_psp.c:130",
    "sys/dev/drm/amd/amdgpu/amdgpu_psp.c:137",
    "sys/dev/drm/amd/amdgpu/amdgpu_psp.c:193",
    "sys/dev/drm/amd/amdgpu/amdgpu_psp.c:260"
  ],
  "poc_changes": "No runtime PoC possible on this guest; static-only evidence pack.",
  "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": "n/a (no AMD GPU on guest)",
  "run_cmd": "n/a",
  "code_hash": "n/a",
  "notes": "Upstream Linux carried the same ucode-gated status check in this era; treat as hardening.",
  "recommended_fix": "Check resp.status unconditionally: drop the ucode && at amdgpu_psp.c:138 (fix.diff).",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "fix.diff applies cleanly to pristine sys/dev/drm/amd/amdgpu/amdgpu_psp.c; runtime validation needs AMD hardware absent from the guest.",
  "fix_evidence": "fix.diff (one-token guard removal)."
}