{
  "finding_id": "DF-3897",
  "status": "not_reproduced",
  "reproduced": 0,
  "impact": "none",
  "confidence": "speculative",
  "verdict": "The WarpDrive validation in mps_wd_config_pages only rejects NumPhysDisks > 8 (sys/dev/raid/mps/mps_config.c:399-400) while explicitly rejecting stripe-size 0 and block-size 0 (mps_config.c:428-433, 447-452) — a RAID0 volume page with zero physical disks passes, sets DD_num_phys_disks = 0 (mps_config.c:412) and WD_valid_config = TRUE (mps_config.c:511). Every subsequent READ/WRITE to the volume DevHandle then reaches `stripe_unit = physLBA / sc->DD_num_phys_disks` in mpssas_direct_drive_io (mps_sas.c:2190, 2269, 2347) — integer divide by zero, kernel panic on the first qualifying I/O by any unprivileged user of the device. Trigger is firmware/NVRAM-gated (controller config page, observed-class 0-disk RAID0 during volume teardown), hence speculative; the sink is certain from source. Not reproduced: guest has no SAS2/WarpDrive HBA (env.txt).",
  "exploit_chain": "",
  "evidence": "VERDICT.md (path:line proof: unchecked count, three division sinks, guarded siblings), env.txt, run.sh + run.log (hardware gate), fix.diff (== 0 rejection in mps_config.c)",
  "kernel_refs": [
    "sys/dev/raid/mps/mps_config.c:399",
    "sys/dev/raid/mps/mps_config.c:412",
    "sys/dev/raid/mps/mps_config.c:511",
    "sys/dev/raid/mps/mps_sas.c:2190",
    "sys/dev/raid/mps/mps_sas.c:2269",
    "sys/dev/raid/mps/mps_sas.c:2347",
    "sys/dev/raid/mps/mps_sas.c:1760"
  ],
  "poc_changes": "n/a — hardware/firmware-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": 15,
  "guest_dirty": 0,
  "build_cmd": "n/a",
  "run_cmd": "sh findings/poc/DF-3897/run.sh",
  "code_hash": "",
  "notes": "Sink is in mps_sas.c (audited file); the missing validation is in mps_config.c, cited accordingly. Upstream FreeBSD mps(4) shares the unguarded count.",
  "recommended_fix": "Reject NumPhysDisks == 0 in mps_wd_config_pages beside the existing > 8 check.",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "fix.diff adds the one-line rejection; cannot be exercised on this guest (no SAS2 HBA).",
  "fix_evidence": "findings/poc/DF-3897/fix.diff"
}
