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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-68331— usb: uas: fix urb unmapping issue when the uas device is remove during ongoing data transfer

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于UAS设备在数据传输期间移除时的URB取消映射问题,可能导致系统恐慌。

AI Predicted 6.5 Difficulty: Moderate EPSS 0.21% · P11

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux eb2a86ae8c544be0ab04aa8169390c0669bc7148< 6289fc489e94c9beb6be2b502ccc263663733d72 affected
eb2a86ae8c544be0ab04aa8169390c0669bc7148< 66ac05e7b0d6bbd1bee9fcf729e20fd4cce86d17 affected
eb2a86ae8c544be0ab04aa8169390c0669bc7148< 75f8e2643085db4f7e136fc6b368eb114dd80a64 affected
eb2a86ae8c544be0ab04aa8169390c0669bc7148< e3a55221f4de080cb7a91ba10f01c4f708603f8d affected
eb2a86ae8c544be0ab04aa8169390c0669bc7148< 2b90a8131c83f6f2be69397d2b7d14d217d95d2f affected
eb2a86ae8c544be0ab04aa8169390c0669bc7148< 426edbfc88b22601ea34a441a469092e7b301c52 affected
eb2a86ae8c544be0ab04aa8169390c0669bc7148< 26d56a9fcb2014b99e654127960aa0a48a391e3c affected
5.10 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-68331

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: uas: fix urb unmapping issue when the uas device is remove during ongoing data transfer
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: usb: uas: fix urb unmapping issue when the uas device is remove during ongoing data transfer When a UAS device is unplugged during data transfer, there is a probability of a system panic occurring. The root cause is an access to an invalid memory address during URB callback handling. Specifically, this happens when the dma_direct_unmap_sg() function is called within the usb_hcd_unmap_urb_for_dma() interface, but the sg->dma_address field is 0 and the sg data structure has already been freed. The SCSI driver sends transfer commands by invoking uas_queuecommand_lck() in uas.c, using the uas_submit_urbs() function to submit requests to USB. Within the uas_submit_urbs() implementation, three URBs (sense_urb, data_urb, and cmd_urb) are sequentially submitted. Device removal may occur at any point during uas_submit_urbs execution, which may result in URB submission failure. However, some URBs might have been successfully submitted before the failure, and uas_submit_urbs will return the -ENODEV error code in this case. The current error handling directly calls scsi_done(). In the SCSI driver, this eventually triggers scsi_complete() to invoke scsi_end_request() for releasing the sgtable. The successfully submitted URBs, when being unlinked to giveback, call usb_hcd_unmap_urb_for_dma() in hcd.c, leading to exceptions during sg unmapping operations since the sg data structure has already been freed. This patch modifies the error condition check in the uas_submit_urbs() function. When a UAS device is removed but one or more URBs have already been successfully submitted to USB, it avoids immediately invoking scsi_done() and save the cmnd to devinfo->cmnd array. If the successfully submitted URBs is completed before devinfo->resetting being set, then the scsi_done() function will be called within uas_try_complete() after all pending URB operations are finalized. Otherwise, the scsi_done() function will be called within uas_zap_pending(), which is executed after usb_kill_anchored_urbs(). The error handling only takes effect when uas_queuecommand_lck() calls uas_submit_urbs() and returns the error value -ENODEV . In this case, the device is disconnected, and the flow proceeds to uas_disconnect(), where uas_zap_pending() is invoked to call uas_try_complete().
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于UAS设备在数据传输期间移除时的URB取消映射问题,可能导致系统恐慌。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux eb2a86ae8c544be0ab04aa8169390c0669bc7148 ~ 6289fc489e94c9beb6be2b502ccc263663733d72 -
Linux Linux 5.10 -

II. Public POCs for CVE-2025-68331

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-68331

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-12-22 · 12 CVEs total

CVE-2025-68337 7.5 HIGH jbd2: avoid bug_on in jbd2_journal_get_create_access() when file system corrupted
CVE-2025-68336 7.5 HIGH locking/spinlock/debug: Fix data-race in do_raw_write_lock
CVE-2025-68335 comedi: pcl818: fix null-ptr-deref in pcl818_ai_cancel()
CVE-2025-68334 platform/x86/amd/pmc: Add support for Van Gogh SoC
CVE-2025-68333 sched_ext: Fix possible deadlock in the deferred_irq_workfn()
CVE-2025-68332 comedi: c6xdigio: Fix invalid PNP driver unregistration
CVE-2025-68330 iio: accel: bmc150: Fix irq assumption regression
CVE-2025-68329 tracing: Fix WARN_ON in tracing_buffers_mmap_close for split VMAs
CVE-2025-68328 firmware: stratix10-svc: fix bug in saving controller data
CVE-2025-68327 usb: renesas_usbhs: Fix synchronous external abort on unbind
CVE-2025-68326 drm/xe/guc: Fix stack_depot usage

IV. Related Vulnerabilities

V. Comments for CVE-2025-68331

No comments yet


Leave a comment