CVE-2026-31756 in Linux
Zusammenfassung
von VulDB • 01.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
usb: dwc2: gadget: Behebung der inkonsistenten Verwendung von spin_lock/unlock in dwc2_hsotg_udc_stop()
dwc2_gadget_exit_clock_gating() ruft intern das Makro call_gadget() auf, das erwartet, dass hsotg->lock gehalten wird, da es spin_unlock/spin_lock um den Aufruf des Gadget-Treiber-Callbacks herum ausführt.
Allerdings ruft dwc2_hsotg_udc_stop() dwc2_gadget_exit_clock_gating() auf, ohne die Sperre zu halten. Dies führt zu: - spin_unlock auf einer Sperre, die nicht gehalten wird (undefiniertes Verhalten) - Die Sperre bleibt nach der Rückkehr von dwc2_gadget_exit_clock_gating() gehalten, was zu einem Deadlock führt, wenn später in derselben Funktion spin_lock_irqsave() aufgerufen wird.
Beheben Sie dies, indem Sie hsotg->lock vor dem Aufruf von dwc2_gadget_exit_clock_gating() erwerben und danach freigeben, was die Sperranforderung des call_gadget()-Makros erfüllt.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.