{
  "finding_id": "DF-3963",
  "status": "not_reproduced",
  "reproduced": 0,
  "impact": "none",
  "confidence": "certain",
  "verdict": "Source-certain device-fed OOB bus-space access: hptiop_mv_outbound_read (hptiop.c:232,236-239) and hptiop_mv_inbound_write (:254,260-262) use the device-maintained outbound_tail / inbound_head registers unmasked as indices into the 512-entry inbound_q/outbound_q arrays (hptiop.h:96-107); a value >=512 steers an MMIO read (and an 8-byte MMIO WRITE of a host phys|flags value) up to ~32GB past BAR2. Impact bounded to MMIO space (machine-check/panic or neighbouring-BAR corruption), not host RAM -> Low, same device-trust class as the known DF-1312 (which covers the srb[] index, not the queue-pointer registers). Not reproduced: no mv-family HBA on the guest (env.txt).",
  "exploit_chain": "wedge/emulated mv HBA sets inbound_head=0x400 -> next hptiop_mv_inbound_write posts 8 bytes at BAR2+0x40+0x2000 (outside the 4KB queue window) -> unmapped-MMIO machine check (panic/DoS) or corruption of an adjacent mapped BAR; symmetric OOB read path via outbound_tail in the interrupt drain.",
  "evidence": "VERDICT.md (offset math + path:line), trigger.c, env.txt, fix.diff (mask both registers, git apply --check clean)",
  "kernel_refs": [
    "sys/dev/raid/hptiop/hptiop.c:229",
    "sys/dev/raid/hptiop/hptiop.c:232",
    "sys/dev/raid/hptiop/hptiop.c:236",
    "sys/dev/raid/hptiop/hptiop.c:252",
    "sys/dev/raid/hptiop/hptiop.c:254",
    "sys/dev/raid/hptiop/hptiop.c:260",
    "sys/dev/raid/hptiop/hptiop.h:96",
    "sys/dev/raid/hptiop/hptiop.h:105"
  ],
  "poc_changes": "Informational trigger only; hardware-gated.",
  "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": 5,
  "guest_dirty": 0,
  "build_cmd": "guest: cd /usr/src/sys/dev/raid/hptiop && patch -p1 < fix.diff && make   # after make obj",
  "run_cmd": "dfbsd-qemu/vm.sh run_root pciconf -lv | grep -i 1103",
  "code_hash": "73b5892e75169a049b9921e8c21b2d8bd65a0f3956da1d0befe31cd9b4d43c54",
  "notes": "Pass-2 finding, checklist item (a) (remaining firmware-fed indices: the reply/request queues). Distinct from DF-1312 (srb[] array index from popped queue values).",
  "recommended_fix": "Mask device-fed queue pointers: & (MVIOP_QUEUE_LEN - 1) in hptiop_mv_outbound_read/hptiop_mv_inbound_write (fix.diff).",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "Two-line mask keeps all accesses inside the 512-entry arrays; git apply --check clean. Runtime validation impossible without the HBA fix.diff applied to the guest /usr/src copy and the hptiop.ko module rebuilt clean with -Werror (build.log; combined with the other four hptiop fix.diffs of this batch); runtime validation still impossible without the HBA.",
  "fix_evidence": "fix.diff; fix.diff applied to the guest /usr/src copy and the hptiop.ko module rebuilt clean with -Werror (build.log; combined with the other four hptiop fix.diffs of this batch); runtime validation still impossible without the HBA."
}