Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-68287— usb: dwc3: Fix race condition between concurrent dwc3_remove_requests() call paths

EPSS 0.09% · P25
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-68287

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
usb: dwc3: Fix race condition between concurrent dwc3_remove_requests() call paths
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: Fix race condition between concurrent dwc3_remove_requests() call paths This patch addresses a race condition caused by unsynchronized execution of multiple call paths invoking `dwc3_remove_requests()`, leading to premature freeing of USB requests and subsequent crashes. Three distinct execution paths interact with `dwc3_remove_requests()`: Path 1: Triggered via `dwc3_gadget_reset_interrupt()` during USB reset handling. The call stack includes: - `dwc3_ep0_reset_state()` - `dwc3_ep0_stall_and_restart()` - `dwc3_ep0_out_start()` - `dwc3_remove_requests()` - `dwc3_gadget_del_and_unmap_request()` Path 2: Also initiated from `dwc3_gadget_reset_interrupt()`, but through `dwc3_stop_active_transfers()`. The call stack includes: - `dwc3_stop_active_transfers()` - `dwc3_remove_requests()` - `dwc3_gadget_del_and_unmap_request()` Path 3: Occurs independently during `adb root` execution, which triggers USB function unbind and bind operations. The sequence includes: - `gserial_disconnect()` - `usb_ep_disable()` - `dwc3_gadget_ep_disable()` - `dwc3_remove_requests()` with `-ESHUTDOWN` status Path 3 operates asynchronously and lacks synchronization with Paths 1 and 2. When Path 3 completes, it disables endpoints and frees 'out' requests. If Paths 1 or 2 are still processing these requests, accessing freed memory leads to a crash due to use-after-free conditions. To fix this added check for request completion and skip processing if already completed and added the request status for ep0 while queue.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于dwc3_remove_requests存在竞争条件,可能导致USB请求过早释放。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 72246da40f3719af3bfd104a2365b32537c27d83 ~ 467add9db13219101f14b6cc5477998b4aaa5fe2 -
LinuxLinux 3.2 -

II. Public POCs for CVE-2025-68287

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-68287

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-12-16 · 157 CVEs total

CVE-2025-682639.8 CRITICALksmbd: ipc: fix use-after-free in ipc_msg_send_request
CVE-2025-68259KVM: SVM: Don't skip unrelated instruction if INT3/INTO is replaced
CVE-2025-68250hung_task: fix warnings caused by unaligned lock pointers
CVE-2025-68251erofs: avoid infinite loops due to corrupted subpage compact indexes
CVE-2025-68252misc: fastrpc: Fix dma_buf object leak in fastrpc_map_lookup
CVE-2025-68253mm: don't spin in add_stack_record when gfp flags don't allow
CVE-2025-68254staging: rtl8723bs: fix out-of-bounds read in OnBeacon ESR IE parsing
CVE-2025-68255staging: rtl8723bs: fix stack buffer overflow in OnAssocReq IE parsing
CVE-2025-68256staging: rtl8723bs: fix out-of-bounds read in rtw_get_ie() parser
CVE-2025-68257comedi: check device's attached status in compat ioctls
CVE-2025-68258comedi: multiq3: sanitize config options in multiq3_attach()
CVE-2025-68264ext4: refresh inline data size before write operations
CVE-2025-68282usb: gadget: udc: fix use-after-free in usb_gadget_state_work
CVE-2025-68281ASoC: SDCA: bug fix while parsing mipi-sdca-control-cn-list
CVE-2025-68266bfs: Reconstruct file type when loading from disk
CVE-2025-68265nvme: fix admin request_queue lifetime
CVE-2025-68261ext4: add i_data_sem protection in ext4_destroy_inline_data_nolock()
CVE-2025-68260rust_binder: fix race condition on death_list
CVE-2025-68249most: usb: hdm_probe: Fix calling put_device() before device initialization
CVE-2025-68262crypto: zstd - fix double-free in per-CPU stream cleanup

Showing top 20 of 157 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-68287

No comments yet


Leave a comment