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().
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade perfUpgrade perf-debuginfoUpgrade kernelUpgrade kernel-tools-develUpgrade kernel-livepatch-5.10.247-246.989Upgrade python-perf-debuginfoUpgrade python-perfUpgrade kernel-headersUpgrade kernel-livepatch-5.15.197-138.220Upgrade kernel-tools | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade bpftool6.12Upgrade kernel6.12Upgrade python3-perfUpgrade kernel6.12-libbpfUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-modules-extraUpgrade kernel6.12-modules-extra-commonUpgrade perfUpgrade kernel6.12-tools-debuginfoUpgrade perf6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel-headersUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade perf6.12Upgrade kernel6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel-libbpfUpgrade kernel-develUpgrade python3-perf6.12Upgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-toolsUpgrade kernel-livepatch-6.12.63-84.121Upgrade kernel6.12-tools-develUpgrade kernel6.12-develUpgrade kernel-modules-extraUpgrade kernel6.12-headersUpgrade kernel-livepatch-6.1.159-181.297Upgrade kernel-libbpf-static | Feb 20, 2026 | Dec 22, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Dec 24, 2025 | Dec 24, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-toolsUpgrade bpftool | Mar 17, 2026 | Mar 16, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Mar 10, 2026 | Mar 10, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Feb 24, 2026 | Dec 22, 2025 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Dec 22, 2025 |
| Ubuntu | — | Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-aws-fips-6.8Upgrade linux-image-virtual-6.17Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-ibm-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-generic-64k-6.17Upgrade linux-image-gke-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1110-azureUpgrade linux-image-5.15.0-1103-awsUpgrade linux-image-xilinx-6.8Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oracle-5.15Upgrade linux-image-kvmUpgrade linux-image-5.15.0-1067-xilinx-zynqmpUpgrade linux-image-5.15.0-1103-gcpUpgrade linux-image-5.15.0-1103-aws-64kUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-5.15.0-173-lowlatency-64kUpgrade linux-image-5.15.0-173-fipsUpgrade linux-image-5.15.0-1055-nvidia-tegra-rtUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-intelUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-aws-fips-5.15Upgrade linux-image-generic-5.15Upgrade linux-image-gcp-64k-6.17Upgrade linux-image-azure-fips-5.15Upgrade linux-image-azure-cvmUpgrade linux-image-6.17.0-19-generic-64kUpgrade linux-image-6.17.0-1010-azureUpgrade linux-image-5.15.0-1094-intel-iot-realtimeUpgrade linux-image-realtime-6.17Upgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-5.15Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-aws-64k-6.17Upgrade linux-image-azureUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-5.15.0-1103-gcp-fipsUpgrade linux-image-virtual-5.15Upgrade linux-image-raspiUpgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatency-5.15Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1086-gkeopUpgrade linux-image-realtime-5.15Upgrade linux-image-realtimeUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-gke-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-6.17.0-1009-oracleUpgrade linux-image-5.15.0-1099-gkeUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-5.15.0-1098-nvidia-lowlatencyUpgrade linux-image-oem-6.17Upgrade linux-image-oem-24.04cUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-64kUpgrade linux-image-kvm-5.15Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gcp-6.17Upgrade linux-image-azure-5.15Upgrade linux-image-6.8.0-106-fipsUpgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-6.17.0-1009-awsUpgrade linux-image-5.15.0-173-genericUpgrade linux-image-virtual-6.8Upgrade linux-image-raspi-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-20.04cUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-generic-64k-5.15Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1044-nvidia-tegra-igxUpgrade linux-image-azure-lts-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-6.17.0-1017-oemUpgrade linux-image-5.15.0-1055-nvidia-tegraUpgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-aws-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-aws-6.17Upgrade linux-image-5.15.0-1109-azure-fipsUpgrade linux-image-6.17.0-1009-aws-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1044-nvidia-tegra-igx-rt | Mar 17, 2026 | Dec 22, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Dec 22, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub