DF-2612 / verdict.json
{ "finding_id": "DF-2612", "status": "inconclusive", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "CODE-CONFIRMED, LIVE-UNREACHABLE (missing_setup): the fail-open is certain from source โ ses_getputstat assigns ENODEV to err at scsi_ses.c:1270/1274 and the SEND_DIAGNOSTIC transport error at :1283, then unconditionally 'return (0)' at :1287, so all four SESIOC vector entries (get_encstat :998-1008 caches 0|ENCI_SVALID, get_objstat :1025-1044 caches zeroed status as valid, set_encstat :1010-1022 and set_objstat :1047-1065 confirm unwritten control ops) report success on malformed/short device data. Live execution requires a SES/SAF-TE enclosure device: the QEMU guest has none (camcontrol devlist shows only a QEMU DVD-ROM; /dev/sesN absent) and QEMU cannot emulate an SES target, so no runtime reproduction was possible. The defect, its root cause, and the one-line fix are verified line-precisely; live impact on real hardware remains unexercised (root-gated 0600 node + crafted enclosure preconditions unchanged).", "exploit_chain": "", "evidence": [ "findings/poc/DF-2612/VERDICT.md โ full line-precise trace of the dead err and all four downstream vector entries", "findings/poc/DF-2612/env.txt โ guest inventory proving the missing-setup blocker (no ses(4) device)", "findings/poc/DF-2612/fix.diff โ 'return (err);' at scsi_ses.c:1287, dry-run verified against pristine sys/" ], "kernel_refs": [ "sys/bus/cam/scsi/scsi_ses.c:1268", "sys/bus/cam/scsi/scsi_ses.c:1270", "sys/bus/cam/scsi/scsi_ses.c:1274", "sys/bus/cam/scsi/scsi_ses.c:1283", "sys/bus/cam/scsi/scsi_ses.c:1287", "sys/bus/cam/scsi/scsi_ses.c:998", "sys/bus/cam/scsi/scsi_ses.c:1025", "sys/bus/cam/scsi/scsi_ses.c:1010", "sys/bus/cam/scsi/scsi_ses.c:1047", "sys/bus/cam/scsi/scsi_ses.c:350" ], "poc_changes": "verify mode, no seed: no PoC was runnable โ an availability-check script (check_env.sh) documents the blocker", "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": 600, "guest_dirty": 0, "build_cmd": "n/a (no SES device to build against; see check_env.sh)", "run_cmd": "dfbsd-qemu/vm.sh run_root 'sh findings/poc/DF-2612/check_env.sh' # exits 1: no /dev/sesN", "code_hash": "ce40c5ed0bf84729dcc9e4854bc5a902fa1e50c91a42bcd97c2fad0173c093d4", "notes": "missing_setup blocker: guest exposes only <QEMU QEMU DVD-ROM 2.5+> at scbus1 target 0 lun 0 (sg0,pass0,cd0); ses(4) never attaches, /dev/ses* absent; emulating an SES target under QEMU is not possible without fabricating hardware (out of scope). fix_status=not_testable for the same reason. The 'return (err)' fix needs no caller changes (traced: get_objstat returns before caching on error at :1032-1033; set_* propagate at :1017-1019/:1062-1064).", "recommended_fix": "scsi_ses.c:1287: return the computed error instead of 0 (return (err);) so SESIOC_GET/SET{ENCSTAT,OBJSTAT} fail closed", "fix_status": "not_testable", "fix_kernel_uname": "", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "fix.diff is the mechanical one-liner (return err); applies cleanly (patch -p1 dry-run) but cannot be behavior-validated without an SES device", "fix_evidence": "findings/poc/DF-2612/fix.diff" } |