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)
PoC verification
Evidence pack
findings/poc/DF-0364 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| manifest.json | file | 412 B | view raw |
Fix verification
not_testablerecommended fix identified; fix.diff not authored/validated in this batch
recommended fix identified; fix.diff not authored/validated in this batch
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
No comments yet.