In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend In current scenario if Plug-out and Plug-In performed continuously there could be a chance while checking for dwc->gadget_driver in dwc3_gadget_suspend, a NULL pointer dereference may occur. Call Stack: CPU1: CPU2: gadget_unbind_driver dwc3_suspend_common dwc3_gadget_stop dwc3_gadget_suspend dwc3_disconnect_gadget CPU1 basically clears the variable and CPU2 checks the variable. Consider CPU1 is running and right before gadget_driver is cleared and in parallel CPU2 executes dwc3_gadget_suspend where it finds dwc->gadget_driver which is not NULL and resumes execution and then CPU1 completes execution. CPU2 executes dwc3_disconnect_gadget where it checks dwc->gadget_driver is already NULL because of which the NULL pointer deference occur.
OS | Version | Architecture | Package | Version | Filename |
---|---|---|---|---|---|
Debian | 12 | all | linux | < 6.1.82-1 | linux_6.1.82-1_all.deb |
Debian | 11 | all | linux | <= 5.10.209-2 | linux_5.10.209-2_all.deb |
Debian | 10 | all | linux | <= 4.19.249-2 | linux_4.19.249-2_all.deb |
Debian | 999 | all | linux | < 6.7.7-1 | linux_6.7.7-1_all.deb |
Debian | 13 | all | linux | < 6.7.7-1 | linux_6.7.7-1_all.deb |