CVE-2023-53016

Bluetooth: Fix possible deadlock in rfcomm_sk_state_change

Medium · published March 27, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
3.8
In the wild
Unconfirmed
What it is

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

Bluetooth: Fix possible deadlock in rfcomm_sk_state_change

syzbot reports a possible deadlock in rfcomm_sk_state_change [1].

While rfcomm_sock_connect acquires the sk lock and waits for

the rfcomm lock, rfcomm_sock_release could have the rfcomm

lock and hit a deadlock for acquiring the sk lock.

Here's a simplified flow:

rfcomm_sock_connect:

lock_sock(sk)

rfcomm_dlc_open:

rfcomm_lock()

rfcomm_sock_release:

rfcomm_sock_shutdown:

rfcomm_lock()

__rfcomm_dlc_close:

rfcomm_k_state_change:

lock_sock(sk)

This patch drops the sk lock before calling rfcomm_dlc_open to

avoid the possible deadlock and holds sk's reference count to

prevent use-after-free after rfcomm_dlc_open completes.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00150 · 3.8th percentile
Published
2025-03-27T16:43Z
EPSS history
Timeline
  • 27 MAR 16:43Z
    Bluetooth: Fix possible deadlock in rfcomm_sk_state_change
    cvelistv5