Bug 2350395 (CVE-2025-21827) - CVE-2025-21827 kernel: Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface()
Summary: CVE-2025-21827 kernel: Bluetooth: btusb: mediatek: Add locks for usb_driver_c...
Keywords:
Status: NEW
Alias: CVE-2025-21827
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-03-06 17:01 UTC by OSIDB Bzimport
Modified: 2025-03-06 19:58 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-03-06 17:01:40 UTC
In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface()

The documentation for usb_driver_claim_interface() says that "the
device lock" is needed when the function is called from places other
than probe(). This appears to be the lock for the USB interface
device. The Mediatek btusb code gets called via this path:

  Workqueue: hci0 hci_power_on [bluetooth]
  Call trace:
   usb_driver_claim_interface
   btusb_mtk_claim_iso_intf
   btusb_mtk_setup
   hci_dev_open_sync
   hci_power_on
   process_scheduled_works
   worker_thread
   kthread

With the above call trace the device lock hasn't been claimed. Claim
it.

Without this fix, we'd sometimes see the error "Failed to claim iso
interface". Sometimes we'd even see worse errors, like a NULL pointer
dereference (where `intf->dev.driver` was NULL) with a trace like:

  Call trace:
   usb_suspend_both
   usb_runtime_suspend
   __rpm_callback
   rpm_suspend
   pm_runtime_work
   process_scheduled_works

Both errors appear to be fixed with the proper locking.

Comment 1 Mauro Matteo Cascella 2025-03-06 18:31:53 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025030630-CVE-2025-21827-6735@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.