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>] [day] [month] [year] [list]
Message-ID: <2025091551-CVE-2025-39801-00f9@gregkh>
Date: Mon, 15 Sep 2025 14:36:51 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-39801: usb: dwc3: Remove WARN_ON for device endpoint command timeouts

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

usb: dwc3: Remove WARN_ON for device endpoint command timeouts

This commit addresses a rarely observed endpoint command timeout
which causes kernel panic due to warn when 'panic_on_warn' is enabled
and unnecessary call trace prints when 'panic_on_warn' is disabled.
It is seen during fast software-controlled connect/disconnect testcases.
The following is one such endpoint command timeout that we observed:

1. Connect
   =======
->dwc3_thread_interrupt
 ->dwc3_ep0_interrupt
  ->configfs_composite_setup
   ->composite_setup
    ->usb_ep_queue
     ->dwc3_gadget_ep0_queue
      ->__dwc3_gadget_ep0_queue
       ->__dwc3_ep0_do_control_data
        ->dwc3_send_gadget_ep_cmd

2. Disconnect
   ==========
->dwc3_thread_interrupt
 ->dwc3_gadget_disconnect_interrupt
  ->dwc3_ep0_reset_state
   ->dwc3_ep0_end_control_data
    ->dwc3_send_gadget_ep_cmd

In the issue scenario, in Exynos platforms, we observed that control
transfers for the previous connect have not yet been completed and end
transfer command sent as a part of the disconnect sequence and
processing of USB_ENDPOINT_HALT feature request from the host timeout.
This maybe an expected scenario since the controller is processing EP
commands sent as a part of the previous connect. It maybe better to
remove WARN_ON in all places where device endpoint commands are sent to
avoid unnecessary kernel panic due to warn.

The Linux kernel CVE team has assigned CVE-2025-39801 to this issue.


Affected and fixed versions
===========================

	Fixed in 5.15.190 with commit dfe40159eec6ca63b40133bfa783eee2e3ed829f
	Fixed in 6.1.149 with commit 5a1a847d841505dba2bd85602daf5c218e1d85b8
	Fixed in 6.6.103 with commit 84c95dbf5bece56086cdb65a64162af35158bdd9
	Fixed in 6.12.44 with commit f49697dfba2915a9ff36f94604eb76fa61413929
	Fixed in 6.16.4 with commit db27482b9db340402e05d4e9b75352bbaca51af2
	Fixed in 6.17-rc3 with commit 45eae113dccaf8e502090ecf5b3d9e9b805add6f

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2025-39801
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/usb/dwc3/ep0.c
	drivers/usb/dwc3/gadget.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/dfe40159eec6ca63b40133bfa783eee2e3ed829f
	https://git.kernel.org/stable/c/5a1a847d841505dba2bd85602daf5c218e1d85b8
	https://git.kernel.org/stable/c/84c95dbf5bece56086cdb65a64162af35158bdd9
	https://git.kernel.org/stable/c/f49697dfba2915a9ff36f94604eb76fa61413929
	https://git.kernel.org/stable/c/db27482b9db340402e05d4e9b75352bbaca51af2
	https://git.kernel.org/stable/c/45eae113dccaf8e502090ecf5b3d9e9b805add6f

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ