⬢ DragonFlyBSD Kernel Audit
DF-4642 / verdict.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4642",
  "status": "untested",
  "reproduced": 0,
  "impact": "none",
  "confidence": "certain",
  "verdict": "Static proof only: dce_virtual.c:662 dereferences adev->mode_info.crtcs[crtc_id] two lines before the crtc_id bounds check at :664. Latent OOB read (CWE-125): the sole caller (dce_virtual.c:708) always passes a bounded crtc_id (num_crtc clamped 1..6 by amdgpu_device.c:1271-1275 against crtcs[AMDGPU_MAX_CRTCS=6]), so no OOB is reachable in the current call graph. Cannot be exercised on the audit guest: amdgpu is a kldload-only module and the guest has no AMD GPU. Reported as Info hardening (matches upstream Linuxs inverted order).",
  "exploit_chain": "",
  "evidence": "VERDICT.md (code excerpt + call-graph proof + clamp citations); README.md (why untested)",
  "kernel_refs": [
    "sys/dev/drm/amd/amdgpu/dce_virtual.c:662",
    "sys/dev/drm/amd/amdgpu/dce_virtual.c:664",
    "sys/dev/drm/amd/amdgpu/dce_virtual.c:708",
    "sys/dev/drm/amd/amdgpu/amdgpu_device.c:1271",
    "sys/dev/drm/amd/amdgpu/amdgpu_mode.h:327"
  ],
  "poc_changes": "none \u2014 no PoC seed; finding is hardening-only, driver not loadable on guest",
  "attempts": 0,
  "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": 0,
  "guest_dirty": 0,
  "build_cmd": "",
  "run_cmd": "",
  "code_hash": "",
  "notes": "Phase V skipped per contract for Info hardening findings. Driver gated: sys/dev/drm/amd/amd/Makefile is a kld module (SUBDIR amdgpu), absent from X86_64_GENERIC; guest dmesg shows no AMD PCI device (only vgapci0 QEMU virtual video).",
  "recommended_fix": "Move the crtc_id >= num_crtc check above the crtcs[crtc_id] array read in dce_virtual_pageflip.",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "fix.diff not authored: nothing was verified at runtime; the one-line reorder in VERDICT.md is the recommended fix.",
  "fix_evidence": "VERDICT.md contains the git-apply-able reorder diff."
}