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

ieee80211_fix_rate and findrix iterate rs_rates without validating rs_nrates <= IEEE80211_RATE_MAXSIZE: missing defense-in-depth

Summary

findrix(:628) and ieee80211_fix_rate(:685) loop i<rs->rs_nrates accessing rs_rates[i] without validating rs_nrates<=IEEE80211_RATE_MAXSIZE (array size). fix_rate both reads AND writes the array (sort swap :693-695, compaction :734-736). If any upstream IE parser fails to clamp count, these loops yield heap OOB R/W on node rateset. No direct exploit in this file β€” depends on separate IE parsing bug. Defense-in-depth hardening at shared rate-processing primitive.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-0364 Β· 1 files
FileTypeDescriptionSize
manifest.json file 412 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/ieee80211_proto.c:623: findrix/fix_rate iterate rs_rates without validating rs_nrates

Verified recommended fix

Source-confirmed at sys/netproto/802_11/wlan/ieee80211_proto.c:623: findrix/fix_rate iterate rs_rates without validating rs_nrates

Verdict

Source-confirmed at sys/netproto/802_11/wlan/ieee80211_proto.c:623: findrix/fix_rate iterate rs_rates without validating rs_nrates