{
 "finding_id": "DF-2762",
 "status": "reproduced",
 "reproduced": 1,
 "impact": null,
 "confidence": "certain",
 "verdict": "REPRODUCED as root on the stock guest: a mutator thread alternating setgroups(setA)/setgroups(setB) plus an observer thread produced 115 observations of MIXED group sets out of 6.9M getgroups reads (samples: {1000,1001,1002,1003,5004,5005,5006,5007} - old prefix, new suffix), proving the credential is exposed mid-mutation exactly as claimed. The EFAULT variant (copyin straddling a guard page) returned EFAULT without an observable partial mutation in this run - DFly copyin for the 32-byte window completed or faulted before publication became visible to the same thread, so that sub-claim stays code-certain; the mixed-set window itself is runtime-proven.",
 "exploit_chain": "no escalation path: setgroups is SYSCAP-gated; the observable mixed window is inside the calling process own credential",
 "evidence": "run.log: 115 of 6.9M getgroups reads returned MIXED old/new group sets (samples: {1000,1001,1002,1003,5004,5005,5006,5007})",
 "kernel_refs": [
  "sys/kern/kern_prot.c:682",
  "sys/kern/kern_prot.c:689",
  "sys/kern/kern_prot.c:692"
 ],
 "poc_changes": "Added a mutation pause around the EFAULT probe (the racing writer otherwise repairs the credential before the observer samples) and a guard-page-straddling copyin source to seek partial mutation; the mixed-set window reproduced strongly, the EFAULT partial-mutation variant did not manifest (copyin faults before bytes become visible to the same thread) and stays code-certain.",
 "attempts": 3,
 "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": 30,
 "guest_dirty": 0,
 "build_cmd": "cc -o setgroups_race setgroups_race.c -lpthread",
 "run_cmd": "as root: ./setgroups_race",
 "code_hash": "aefb60a2a47226200655ead0d9a09482693fc38f4bd06dca6e85a9fdf6d628f5",
 "notes": "",
 "recommended_fix": "copyin into a stack staging buffer BEFORE cratom, then memcpy+publish under the exclusive window.",
 "fix_status": "not_testable",
 "fix_kernel_uname": null,
 "fix_baseline_reproduced": null,
 "fix_patched_reproduced": null,
 "fix_verdict": "fix.diff compile-validated in the batch combined kernel build (all 37 diffs of this batch applied to in-guest /usr/src; make -j6 nativekernel KERNCONF=X86_64_GENERIC, see batch build log referenced in VERDICT.md); no behavior A/B performed for this Info-tier item; behavior A/B intentionally skipped for Info tier",
 "fix_evidence": "batch combined kernel build log (see findings/poc/_batch41 note in VERDICT.md)"
}
