mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
usbnet: ipheth: fix DPE OoB read
Fix an out-of-bounds DPE read, limit the number of processed DPEs to
the amount that fits into the fixed-size NDP16 header.
Fixes: a2d274c62e
("usbnet: ipheth: add CDC NCM support")
Cc: stable@vger.kernel.org
Signed-off-by: Foster Snowhill <forst@pen.gy>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
efcbc678a1
commit
ee591f2b28
1 changed files with 1 additions and 3 deletions
|
@ -246,7 +246,7 @@ static int ipheth_rcvbulk_callback_ncm(struct urb *urb)
|
|||
goto rx_error;
|
||||
|
||||
dpe = ncm0->dpe16;
|
||||
while (true) {
|
||||
for (int dpe_i = 0; dpe_i < IPHETH_NDP16_MAX_DPE; ++dpe_i, ++dpe) {
|
||||
dg_idx = le16_to_cpu(dpe->wDatagramIndex);
|
||||
dg_len = le16_to_cpu(dpe->wDatagramLength);
|
||||
|
||||
|
@ -268,8 +268,6 @@ static int ipheth_rcvbulk_callback_ncm(struct urb *urb)
|
|||
retval = ipheth_consume_skb(buf, dg_len, dev);
|
||||
if (retval != 0)
|
||||
return retval;
|
||||
|
||||
dpe++;
|
||||
}
|
||||
|
||||
rx_error:
|
||||
|
|
Loading…
Add table
Reference in a new issue