lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025030630-CVE-2025-21827-6735@gregkh>
Date: Thu,  6 Mar 2025 17:04:32 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2025-21827: Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface()

Description
===========

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.

The Linux kernel CVE team has assigned CVE-2025-21827 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 6.11 with commit ceac1cb0259de682d78f5c784ef8e0b13022e9d9 and fixed in 6.12.13 with commit 930e1790b99e5839e1af69d2f7fd808f1fba2df9
	Issue introduced in 6.11 with commit ceac1cb0259de682d78f5c784ef8e0b13022e9d9 and fixed in 6.13.2 with commit 4194766ec8756f4f654d595ae49962acbac49490
	Issue introduced in 6.11 with commit ceac1cb0259de682d78f5c784ef8e0b13022e9d9 and fixed in 6.14-rc1 with commit e9087e828827e5a5c85e124ce77503f2b81c3491

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-21827
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/bluetooth/btusb.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/930e1790b99e5839e1af69d2f7fd808f1fba2df9
	https://git.kernel.org/stable/c/4194766ec8756f4f654d595ae49962acbac49490
	https://git.kernel.org/stable/c/e9087e828827e5a5c85e124ce77503f2b81c3491

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ