CVE-2026-98290

Bluetooth: RFCOMM: avoid socket lock inversion in listener cleanup

State
Published
Severity
7.5 High
Published
Oct 6, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

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

Bluetooth: RFCOMM: avoid socket lock inversion in listener cleanup

rfcomm_sock_cleanup_listen() closes unaccepted child sockets through rfcomm_sock_close(), which takes the child socket lock before rfcomm_dlc_close() acquires rfcomm_mutex. The RFCOMM worker takes these locks in reverse order while handling connections and DLC state changes, so lockdep reports a possible deadlock.

Close dequeued children without taking their socket lock. The accept queue owns a reference to each child, and bt_accept_dequeue() locks the child while unlinking it and clearing its parent pointer.

Dropping the child lock makes it important to prevent a concurrent rfcomm_connect_ind() from enqueueing a new child after cleanup observes an empty queue. Set a listening socket to BT_CLOSED while its lock is still held, before dropping the lock and draining the queue. The state check in rfcomm_connect_ind() then rejects new children once cleanup starts.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b7ce436a5d798bc59e71797952566608a4b4626b to before eb4adaa46e4c9e6efa7be3ce06398f4d7c39b57cAffected
  • b7ce436a5d798bc59e71797952566608a4b4626b to before 4aafb47301a799d3e01230d6568c4e93524e1523Affected
  • b7ce436a5d798bc59e71797952566608a4b4626b to before c741977e413f5b49d306700820fb55ccb8269f5aAffected
  • b7ce436a5d798bc59e71797952566608a4b4626b to before c6792c441767256030606eb82dca5d5fc360dd9aAffected
  • b7ce436a5d798bc59e71797952566608a4b4626b to before bfce253f039eb5f58b810af267942a9f59207254Affected
  • b7ce436a5d798bc59e71797952566608a4b4626b to before 18174b166547ef41973cc19feb5ef9cab39a8defAffected
  • b7ce436a5d798bc59e71797952566608a4b4626b to before 801fb950cae7048eb7d83b18857d1ca37b8cd5a4Affected
LinuxLinux
  • 5.15Affected
  • before 5.15Not affected
  • 5.15.222 through 5.15.*Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.54 through 6.18.*Not affected
  • 7.2.8 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.