# DF-2403 VERDICT

**Status:** reproduced
**Impact:** leak
**Confidence:** certain

Uninitialized kernel-stack disclosure via the production apple_smc_mb_sysctl_fanid handler, read as unprivileged user nobody through a fabricated MMIO/T2 backend reporting the documented 8-byte F0ID payload. sysctl returned the 4-byte fan name plus 12 bytes of never-written kernel stack (including a 0xfffff801xxxxxxxx kernel-pointer fragment), terminated only by a lucky NUL; with an unlucky stack the same strlen walk runs off the kstack top into a fatal kernel-mode fault (observed once accidentally).

## Kernel references
- `sys/dev/apple/smc/smc_sysctl.c:51`
- `sys/dev/apple/smc/smc_sysctl.c:56`
- `sys/dev/apple/smc/smc_sysctl.c:61`
- `sys/dev/apple/smc/smc_io.c:436`
- `sys/dev/apple/smc/smc_mmio.c:74`

## Guest
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

## Notes
MMIO backend precondition confirmed: smc_mmio.c:74 fills min(reported=8, requested=16); port-IO backend fills all 16 (no leak). Leak ceiling: everything from buf[8] to the next NUL on the kstack; observed 4..12 bytes incl. kernel pointers.

## Fix status (batch validation)
Applied with the 36 sibling fix.diffs of this batch in findings/poc/_batch41/all_fixes.patch; single in-guest `make -j6 nativekernel KERNCONF=X86_64_GENERIC` completed RC=0 with zero errors under -Werror (full log: findings/poc/_batch41/fix_build8.log). Behavior A/B intentionally skipped for this Info-tier item.
