β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-0695

RC4 key material and S-box left unzeroed on kernel stack after encrypt/decrypt

Summary

wep_encrypt (:334) and wep_decrypt (:417): uint8_t rc4key[19] populated with composite RC4 key (3B IV + shared secret wk_key) at :345-346/:428-429 uint8_t S[256] RC4 internal state. Neither cleared before function returns (:393/:475 return without explicit_bzero). Key material persists on kernel stack until overwritten by subsequent call. WEP shared secret long-lived manually configured shared among all stations. wep_ctx wc_iv (:163) not zeroed on detach (:117). Defense-in-depth hardening gap same pattern CCMP/TKIP cross-cipher. Fix: explicit_bzero(rc4key,sizeof)+explicit_bzero(S,sizeof) before return both functions.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-0695 Β· 1 files
FileTypeDescriptionSize
fix.diff suggested-fix RC4 key material and S-box left unzeroed on kernel stack after encrypt/decrypt 366 B view raw

Fix verification

fixed
baseline 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/netproto/802_11/wlan_wep/ieee80211_crypto_wep.c:334: RC4 key/S-box left unzeroed on kernel stack (DSE)

Verified recommended fix

Source-confirmed at sys/netproto/802_11/wlan_wep/ieee80211_crypto_wep.c:334: RC4 key/S-box left unzeroed on kernel stack (DSE)

Verdict

Source-confirmed at sys/netproto/802_11/wlan_wep/ieee80211_crypto_wep.c:334: RC4 key/S-box left unzeroed on kernel stack (DSE)