CVE-2026-64344: USB: idmouse: fix use-after-free on disconnect race

Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:49:21 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072516-CVE-2026-64344-3b7c@gregkh>
From: Greg Kroah-Hartman <[email protected]>

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

In the Linux kernel, the following vulnerability has been resolved:

USB: idmouse: fix use-after-free on disconnect race

mutex_unlock() may access the mutex structure after releasing the lock
and therefore cannot be used to manage lifetime of objects directly
(unlike spinlocks and refcounts). [1][2]

Use a kref to release the driver data to avoid use-after-free in
mutex_unlock() when release() races with disconnect().

[1] a51749ab34d9 ("locking/mutex: Document that mutex_unlock() is
                   non-atomic")
[2] 2b9d9e0a9ba0 ("locking/mutex: Clarify that mutex_unlock(), and most
                   other sleeping locks, can still use the lock object
                   after it's unlocked")

The Linux kernel CVE team has assigned CVE-2026-64344 to this issue.


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

	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 5.10.261 with commit 31e75fed8f90cfea9f8285e7ed135b0e452bf872
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 5.15.212 with commit 8d53b14ad4ccbff6d306b3a39c812303f4a87d41
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 6.1.178 with commit f62622e947f82a3854a8502d09492ffbdeb252b4
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 6.6.145 with commit 60fc5ef4ecea3e3d1fe556cecf53ddd13096ef09
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 6.12.96 with commit d0f61acb51a8c8f3fd41c303ddb7770cd83e7ed4
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 6.18.39 with commit 54c2b7356b4aeea467f9fb13b85e9e036bc428cb
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 7.1.4 with commit e88cff5fbaa629f3cab45c8b46f395d62c2eb515
	Issue introduced in 2.6.24 with commit 54d2bc068fd21bcb096660938bce7c7265613a24 and fixed in 7.2-rc3 with commit ff002c153f9722caece3983cc23dc4d9d4652cb4

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-2026-64344
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/usb/misc/idmouse.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/31e75fed8f90cfea9f8285e7ed135b0e452bf872
	https://git.kernel.org/stable/c/8d53b14ad4ccbff6d306b3a39c812303f4a87d41
	https://git.kernel.org/stable/c/f62622e947f82a3854a8502d09492ffbdeb252b4
	https://git.kernel.org/stable/c/60fc5ef4ecea3e3d1fe556cecf53ddd13096ef09
	https://git.kernel.org/stable/c/d0f61acb51a8c8f3fd41c303ddb7770cd83e7ed4
	https://git.kernel.org/stable/c/54c2b7356b4aeea467f9fb13b85e9e036bc428cb
	https://git.kernel.org/stable/c/e88cff5fbaa629f3cab45c8b46f395d62c2eb515
	https://git.kernel.org/stable/c/ff002c153f9722caece3983cc23dc4d9d4652cb4