lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue,  2 Nov 2021 15:44:46 +0800
From:   Haimin Zhang <tcs.kernel@...il.com>
To:     gregkh@...uxfoundation.org, linux-usb@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     Haimin Zhang <tcs_kernel@...cent.com>,
        TCS Robot <tcs_robot@...cent.com>
Subject: [PATCH] USB:  array-index-out-of-bounds in ehci_brcm_hub_control

There isn't enough check parameter `wIndex` in the function 
`ehci_brcm_hub_control`;due to the size of array `port_status`
is 15, so it may lead to out of bounds.

Signed-off-by: Haimin Zhang <tcs_kernel@...cent.com>
Reported-by: TCS Robot <tcs_robot@...cent.com>
---
 drivers/usb/host/ehci-brcm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/host/ehci-brcm.c b/drivers/usb/host/ehci-brcm.c
index d3626bfa966b..4ca3eb9fcda9 100644
--- a/drivers/usb/host/ehci-brcm.c
+++ b/drivers/usb/host/ehci-brcm.c
@@ -63,7 +63,8 @@ static int ehci_brcm_hub_control(
 	unsigned long flags;
 	int retval, irq_disabled = 0;
 
-	status_reg = &ehci->regs->port_status[(wIndex & 0xff) - 1];
+	if (wIndex && wIndex <= ports)
+		status_reg = &ehci->regs->port_status[(wIndex & 0xff) - 1];
 
 	/*
 	 * RESUME is cleared when GetPortStatus() is called 20ms after start
-- 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ