CVE-2026-64344 PUBLISHED

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

Assigner: Linux
Reserved: 19.07.2026 Published: 25.07.2026 Updated: 25.07.2026

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")

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to 31e75fed8f90cfea9f8285e7ed135b0e452bf872 (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to 8d53b14ad4ccbff6d306b3a39c812303f4a87d41 (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to f62622e947f82a3854a8502d09492ffbdeb252b4 (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to 60fc5ef4ecea3e3d1fe556cecf53ddd13096ef09 (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to d0f61acb51a8c8f3fd41c303ddb7770cd83e7ed4 (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to 54c2b7356b4aeea467f9fb13b85e9e036bc428cb (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to e88cff5fbaa629f3cab45c8b46f395d62c2eb515 (excl.)
  • affected from 54d2bc068fd21bcb096660938bce7c7265613a24 to ff002c153f9722caece3983cc23dc4d9d4652cb4 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.24 is affected
  • unaffected from 0 to 2.6.24 (excl.)
  • unaffected from 5.10.261 to 5.10.* (incl.)
  • unaffected from 5.15.212 to 5.15.* (incl.)
  • unaffected from 6.1.178 to 6.1.* (incl.)
  • unaffected from 6.6.145 to 6.6.* (incl.)
  • unaffected from 6.12.96 to 6.12.* (incl.)
  • unaffected from 6.18.39 to 6.18.* (incl.)
  • unaffected from 7.1.4 to 7.1.* (incl.)
  • unaffected from 7.2-rc3 to * (incl.)

References