DF-0464
bzero (not explicit_bzero) used to clear sensitive key material in heap structs: DSE risk
Summary
Plain bzero used for heap secrets: r_ss(:411), full handshake struct containing hs_e/hs_ck/hs_hash(:678), PSK(:634). Stack secrets correctly use explicit_bzero(:343,:608,:830,etc). Dead-store elimination may remove bzero if compiler proves memory never read after. Defense-in-depth inconsistency. Fix: replace bzero->explicit_bzero at :411,:634,:678.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-0464 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| fix.diff | suggested-fix | bzero (not explicit_bzero) used to clear sensitive key material in heap structs: | 487 B | view raw |
Fix verification
fixedbaseline reproducedβ patch + rebuild βpatched clean
fix.diff applied + combined nativekernel build rc=0 (-Werror)
fix.diff applied + combined nativekernel build rc=0 (-Werror)
β fix.diffcombined build rc=0
Confirmed kernel references
β
Detail
Exploit chain
none (Info severity)
Evidence (decisive lines)
Source-confirmed at sys/net/wg/wg_noise.c:411: bzero (not explicit_bzero) used to clear sensitive key material (DSE)
Verified recommended fix
Source-confirmed at sys/net/wg/wg_noise.c:411: bzero (not explicit_bzero) used to clear sensitive key material (DSE)
Verdict
Source-confirmed at sys/net/wg/wg_noise.c:411: bzero (not explicit_bzero) used to clear sensitive key material (DSE)
No comments yet.