Commit ef61d62
staging: rtl8723bs: fix OOB reads in IE loops in issue_assocreq() and join_cmd_hdl()
Two IE parsing loops are missing the header bounds checks before they
dereference pIE->length:
- issue_assocreq() walks pmlmeinfo->network.ies to build the
association request. If the stored IE data ends with only an
element_id byte and no length byte, pIE->length is read one byte
past the end of the buffer.
- join_cmd_hdl() walks pnetwork->ies during station join and has
the same problem under the same conditions.
Both buffers are filled from AP beacon and probe-response frames, so a
malicious AP that sends a truncated final IE can trigger the issue.
Apply the two-guard pattern established in update_beacon_info():
1. Break if fewer than sizeof(*pIE) bytes remain.
2. Break if the IE's declared data extends past the buffer end.
Fixes: 554c0a3 ("staging: Add rtl8723bs sdio wifi driver")
Cc: stable <stable@kernel.org>
Reviewed-by: Luka Gejak <luka.gejak@linux.dev>
Signed-off-by: Alexandru Hossu <hossu.alexandru@gmail.com>
Link: https://patch.msgid.link/20260522004531.1038924-3-hossu.alexandru@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent ed51de4 commit ef61d62
1 file changed
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2861 | 2861 | | |
2862 | 2862 | | |
2863 | 2863 | | |
| 2864 | + | |
| 2865 | + | |
2864 | 2866 | | |
| 2867 | + | |
| 2868 | + | |
2865 | 2869 | | |
2866 | 2870 | | |
2867 | 2871 | | |
| |||
5189 | 5193 | | |
5190 | 5194 | | |
5191 | 5195 | | |
| 5196 | + | |
| 5197 | + | |
5192 | 5198 | | |
| 5199 | + | |
| 5200 | + | |
5193 | 5201 | | |
5194 | 5202 | | |
5195 | 5203 | | |
| |||
0 commit comments