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

CCMP MIC verified with non-constant-time memcmp

Summary

ccmp_decrypt (:642): if(memcmp(mic,a,ccmp.ic_trailer)!=0) libc memcmp short-circuits on first differing byte timing-dependent. mic=attacker-supplied 8B tag from frame trailer a=CBC-MAC under secret AES key. Practical exploitability negligible: each byte depends on all prior AES outputs+secret attacker cannot iterate guesses byte-by-byte (not CBC padding oracle). Hardening/best-practice item constant-time mandated for AEAD tag check costs nothing to fix. Fix: consttime_memequal.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-0656 Β· 1 files
FileTypeDescriptionSize
manifest.json file 419 B view raw

Fix verification

not_testable
baseline reproduced→ patch + rebuild →patched clean

recommended fix identified; fix.diff not authored/validated in this batch

recommended fix identified; fix.diff not authored/validated in this batch
combined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Info severity)

Evidence (decisive lines)

Source-confirmed at sys/netproto/802_11/wlan_ccmp/ieee80211_crypto_ccmp.c:642: CCMP MIC verified with non-constant-time memcmp

Verified recommended fix

Source-confirmed at sys/netproto/802_11/wlan_ccmp/ieee80211_crypto_ccmp.c:642: CCMP MIC verified with non-constant-time memcmp

Verdict

Source-confirmed at sys/netproto/802_11/wlan_ccmp/ieee80211_crypto_ccmp.c:642: CCMP MIC verified with non-constant-time memcmp