# DF-2405 - Verification Verdict

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

## Mechanism
rdrand_rng_harvest fills uint8_t randomness[RDRAND_SIZE+32] with raw RDRAND output, feeds it to add_buffer_randomness_src, and returns with the harvest bytes still on the stack (never zeroed). Those bytes are CSPRNG seed input - disclosure of stack residue discloses entropy contributed to the pool.

## Verdict
source-confirmed (no runtime PoC; deterministic code trace of the cited path:line in the read-only sys/ tree). Code-certain hygiene; the sibling DF-2139 (verified) already demonstrated the same bytes being kprintf-ed under debug.rdrand>0 (debug-gated 4-byte disclosure), confirming the value flow. RDRAND present on the host CPU but stack residue is not directly observable without instrumentation, so no runtime PoC; fix is mechanical.

## Threat / reachability
Latent code defect; see VERDICT.md.

## Privilege escalation assessment
n/a (hardening)

## Fix
explicit_bzero(randomness, sizeof(randomness)) after add_buffer_randomness_src.

## Kernel references
- `sys/dev/crypto/rdrand/rdrand.c:163`
- `sys/dev/crypto/rdrand/rdrand.c:171`
- `sys/dev/crypto/rdrand/rdrand.c:184`

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