⬢ DragonFlyBSD Kernel Audit
DF-3809 / verdict.json
← back to finding ↓ download raw
{
  "finding_id": "DF-3809",
  "status": "untested",
  "reproduced": 0,
  "impact": "none",
  "confidence": "likely",
  "verdict": "intel_enable_ddi_hdmis Display WA #1143 lookup table port_to_transcoder[] has only PORT_A..PORT_E entries but is indexed with encoder->port, which can be PORT_F (5) on GEN9_BC (SKL/KBL/CFL) parts whose SFUSE_STRAP reports DDIF and whose VBT declares the port (encoder created at intel_display.c:14340-14341). The result is a .rodata out-of-bounds read whose garbage value feeds CHICKEN_TRANS(transcoder), i.e. an MMIO write at a wrong register offset during HDMI enable. Not executed: the audit guest has no Intel GPU (no i915 attachment) and the required DDIF-strapped GEN9_BC hardware could not be confirmed to exist; the code defect itself is certain.",
  "exploit_chain": "",
  "evidence": "findings/poc/DF-3809/VERDICT.md (array size vs index proof, init-path citations), findings/poc/DF-3809/env.txt (guest lacks Intel GPU)",
  "kernel_refs": [
    "sys/dev/drm/i915/intel_ddi.c:3180",
    "sys/dev/drm/i915/intel_ddi.c:3187",
    "sys/dev/drm/i915/intel_ddi.c:3173",
    "sys/dev/drm/i915/intel_display.c:14340",
    "sys/dev/drm/i915/i915_drv.h:2562"
  ],
  "poc_changes": "no PoC written; source-level analysis only (no trigger hardware)",
  "attempts": 0,
  "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT #0 ... x86_64 (no i915)",
  "runtime_sec": 0,
  "guest_dirty": 0,
  "build_cmd": "",
  "run_cmd": "",
  "code_hash": "",
  "notes": "Pass-2 finding. Guest verification impossible: QEMU std VGA, i915 never attaches (env.txt). Hardware precondition (DDIF strap on GEN9_BC + VBT port F) unconfirmed in the field, hence Low/likely.",
  "recommended_fix": "Add [PORT_F] = TRANSCODER_A to port_to_transcoder[] (or guard port against ARRAY_SIZE) in intel_enable_ddi_hdmi",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "not_testable: baseline never reproduced (no hardware)",
  "fix_evidence": ""
}