From: luka.gejak@linux.dev
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Dan Carpenter <dan.carpenter@linaro.org>,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
Luka Gejak <luka.gejak@linux.dev>,
stable@vger.kernel.org
Subject: [PATCH v3 01/22] staging: rtl8723bs: fix potential out-of-bounds read in rtw_restruct_wmm_ie
Date: Sun, 8 Feb 2026 12:00:50 +0100 [thread overview]
Message-ID: <20260208110111.46642-2-luka.gejak@linux.dev> (raw)
In-Reply-To: <20260208110111.46642-1-luka.gejak@linux.dev>
From: Luka Gejak <luka.gejak@linux.dev>
The current code checks 'i + 5 < in_len' at the end of the if statement.
However, it accesses 'in_ie[i + 5]' before that check, which can lead
to an out-of-bounds read. Move the length check to the beginning of the
conditional to ensure the index is within bounds before accessing the
array.
Fixes: 554c0a3abf21 ("staging: Add rtl8723bs sdio wifi driver")
Cc: stable@vger.kernel.org
Signed-off-by: Luka Gejak <luka.gejak@linux.dev>
---
drivers/staging/rtl8723bs/core/rtw_mlme.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 22dc36e8e38a..2bd6f5367bdc 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -1988,7 +1988,10 @@ int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_
while (i < in_len) {
ielength = initial_out_len;
- if (in_ie[i] == 0xDD && in_ie[i + 2] == 0x00 && in_ie[i + 3] == 0x50 && in_ie[i + 4] == 0xF2 && in_ie[i + 5] == 0x02 && i + 5 < in_len) { /* WMM element ID and OUI */
+ if (i + 5 < in_len &&
+ in_ie[i] == 0xDD && in_ie[i + 2] == 0x00 &&
+ in_ie[i + 3] == 0x50 && in_ie[i + 4] == 0xF2 &&
+ in_ie[i + 5] == 0x02) {
for (j = i; j < i + 9; j++) {
out_ie[ielength] = in_ie[j];
ielength++;
--
2.52.0
next prev parent reply other threads:[~2026-02-08 11:01 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-08 11:00 [PATCH v3 00/22] staging: rtl8723bs: fix out-of-bounds and various cleanups luka.gejak
2026-02-08 11:00 ` luka.gejak [this message]
2026-02-23 14:18 ` [PATCH v3 01/22] staging: rtl8723bs: fix potential out-of-bounds read in rtw_restruct_wmm_ie Greg Kroah-Hartman
2026-02-08 11:00 ` [PATCH v3 02/22] staging: rtl8723bs: remove unused rtl8192c function declarations luka.gejak
2026-02-08 11:00 ` [PATCH v3 03/22] staging: rtl8723bs: remove unused RECV_BLK defines luka.gejak
2026-02-08 11:00 ` [PATCH v3 04/22] staging: rtl8723bs: remove unused MAX_PATH_NUM defines luka.gejak
2026-02-08 11:00 ` [PATCH v3 05/22] staging: rtl8723bs: convert PSTA_INFO_T to struct sta_info * luka.gejak
2026-02-08 11:00 ` [PATCH v3 06/22] staging: rtl8723bs: remove NDIS type aliases luka.gejak
2026-02-08 11:00 ` [PATCH v3 07/22] staging: rtl8723bs: remove redundant MAC_ARG macro luka.gejak
2026-02-08 11:00 ` [PATCH v3 08/22] staging: rtl8723bs: core: fix line lengths in rtw_wlan_util.c luka.gejak
2026-02-08 11:00 ` [PATCH v3 09/22] staging: rtl8723bs: core: fix line lengths in rtw_recv.c luka.gejak
2026-02-08 11:00 ` [PATCH v3 10/22] staging: rtl8723bs: hal: fix line lengths in HalPhyRf_8723B.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 11/22] staging: rtl8723bs: os_dep: fix line lengths in ioctl_cfg80211.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 12/22] staging: rtl8723bs: hal: fix line lengths in rtl8723b_cmd.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 13/22] staging: rtl8723bs: hal: fix line lengths in rtl8723b_hal_init.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 14/22] staging: rtl8723bs: hal: fix line lengths in rtl8723b_phycfg.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 15/22] staging: rtl8723bs: core: fix various line length overflows luka.gejak
2026-02-08 11:01 ` [PATCH v3 16/22] staging: rtl8723bs: hal: " luka.gejak
2026-02-08 11:01 ` [PATCH v3 17/22] staging: rtl8723bs: os_dep: " luka.gejak
2026-02-08 11:01 ` [PATCH v3 18/22] staging: rtl8723bs: core: fix line lengths in rtw_cmd.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 19/22] staging: rtl8723bs: core: fix line lengths in rtw_mlme_ext.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 20/22] staging: rtl8723bs: core: fix line lengths in rtw_mlme.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 21/22] staging: rtl8723bs: core: fix line lengths in rtw_xmit.c luka.gejak
2026-02-08 11:01 ` [PATCH v3 22/22] staging: rtl8723bs: core: fix various line length overflows luka.gejak
[not found] <20260208105853.46192-1-luka.gejak@linux.dev>
2026-02-08 10:58 ` [PATCH v3 01/22] staging: rtl8723bs: fix potential out-of-bounds read in rtw_restruct_wmm_ie luka.gejak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260208110111.46642-2-luka.gejak@linux.dev \
--to=luka.gejak@linux.dev \
--cc=dan.carpenter@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.