[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025103016-CVE-2025-40092-9135@gregkh>
Date: Thu, 30 Oct 2025 10:48:19 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-40092: usb: gadget: f_ncm: Refactor bind path to use __free()
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_ncm: Refactor bind path to use __free()
After an bind/unbind cycle, the ncm->notify_req is left stale. If a
subsequent bind fails, the unified error label attempts to free this
stale request, leading to a NULL pointer dereference when accessing
ep->ops->free_request.
Refactor the error handling in the bind path to use the __free()
automatic cleanup mechanism.
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020
Call trace:
 usb_ep_free_request+0x2c/0xec
 ncm_bind+0x39c/0x3dc
 usb_add_function+0xcc/0x1f0
 configfs_composite_bind+0x468/0x588
 gadget_bind_driver+0x104/0x270
 really_probe+0x190/0x374
 __driver_probe_device+0xa0/0x12c
 driver_probe_device+0x3c/0x218
 __device_attach_driver+0x14c/0x188
 bus_for_each_drv+0x10c/0x168
 __device_attach+0xfc/0x198
 device_initial_probe+0x14/0x24
 bus_probe_device+0x94/0x11c
 device_add+0x268/0x48c
 usb_add_gadget+0x198/0x28c
 dwc3_gadget_init+0x700/0x858
 __dwc3_set_mode+0x3cc/0x664
 process_scheduled_works+0x1d8/0x488
 worker_thread+0x244/0x334
 kthread+0x114/0x1bc
 ret_from_fork+0x10/0x20
The Linux kernel CVE team has assigned CVE-2025-40092 to this issue.
Affected and fixed versions
===========================
	Issue introduced in 2.6.38 with commit 9f6ce4240a2bf456402c15c06768059e5973f28c and fixed in 5.15.196 with commit 185193a4714aa9c78437a7a1858fbe5771f0f45c
	Issue introduced in 2.6.38 with commit 9f6ce4240a2bf456402c15c06768059e5973f28c and fixed in 6.1.158 with commit f37de8dec6a4c379b4b8486003a1de00ff8cff3b
	Issue introduced in 2.6.38 with commit 9f6ce4240a2bf456402c15c06768059e5973f28c and fixed in 6.6.114 with commit 1cde4516295a030cb8ab4c93114ca3b6c3c6a1e2
	Issue introduced in 2.6.38 with commit 9f6ce4240a2bf456402c15c06768059e5973f28c and fixed in 6.12.55 with commit d3fe7143928d8dfa2ec7bac9f906b48bc75b98ee
	Issue introduced in 2.6.38 with commit 9f6ce4240a2bf456402c15c06768059e5973f28c and fixed in 6.17.5 with commit ed78f4d6079d872432b1ed54f155ef61965d3137
	Issue introduced in 2.6.38 with commit 9f6ce4240a2bf456402c15c06768059e5973f28c and fixed in 6.18-rc1 with commit 75a5b8d4ddd4eb6b16cb0b475d14ff4ae64295ef
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-40092
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/gadget/function/f_ncm.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/185193a4714aa9c78437a7a1858fbe5771f0f45c
	https://git.kernel.org/stable/c/f37de8dec6a4c379b4b8486003a1de00ff8cff3b
	https://git.kernel.org/stable/c/1cde4516295a030cb8ab4c93114ca3b6c3c6a1e2
	https://git.kernel.org/stable/c/d3fe7143928d8dfa2ec7bac9f906b48bc75b98ee
	https://git.kernel.org/stable/c/ed78f4d6079d872432b1ed54f155ef61965d3137
	https://git.kernel.org/stable/c/75a5b8d4ddd4eb6b16cb0b475d14ff4ae64295ef
Powered by blists - more mailing lists
 
