UPSTREAM: wifi: cfg80211: fix out-of-bounds access during multi-link element defragmentation
Currently during the multi-link element defragmentation process, the
multi-link element length added to the total IEs length when calculating
the length of remaining IEs after the multi-link element in
cfg80211_defrag_mle(). This could lead to out-of-bounds access if the
multi-link element or its corresponding fragment elements are the last
elements in the IEs buffer.
To address this issue, correctly calculate the remaining IEs length by
deducting the multi-link element end offset from total IEs end offset.
Cc: stable@vger.kernel.org
Fixes: 2481b5da9c ("wifi: cfg80211: handle BSS data contained in ML probe responses")
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
Link: https://patch.msgid.link/20250424-fix_mle_defragmentation_oob_access-v1-1-84412a1743fa@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Bug: 417641649
Change-Id: Ib1a92abf3ba3aee4ced14fee05d17ea2a4ae2fec
(cherry picked from commit 023c1f2f0609218103cbcb48e0104b144d4a16dc)
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
This commit is contained in:
committed by
Treehugger Robot
parent
617a8cdb8d
commit
6e0b046d59
@@ -2645,7 +2645,7 @@ cfg80211_defrag_mle(const struct element *mle, const u8 *ie, size_t ielen,
|
||||
/* Required length for first defragmentation */
|
||||
buf_len = mle->datalen - 1;
|
||||
for_each_element(elem, mle->data + mle->datalen,
|
||||
ielen - sizeof(*mle) + mle->datalen) {
|
||||
ie + ielen - mle->data - mle->datalen) {
|
||||
if (elem->id != WLAN_EID_FRAGMENT)
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user