CVE-2023-52638

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
03/04/2024
Last modified:
03/02/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock<br /> <br /> The following 3 locks would race against each other, causing the<br /> deadlock situation in the Syzbot bug report:<br /> <br /> - j1939_socks_lock<br /> - active_session_list_lock<br /> - sk_session_queue_lock<br /> <br /> A reasonable fix is to change j1939_socks_lock to an rwlock, since in<br /> the rare situations where a write lock is required for the linked list<br /> that j1939_socks_lock is protecting, the code does not attempt to<br /> acquire any more locks. This would break the circular lock dependency,<br /> where, for example, the current thread already locks j1939_socks_lock<br /> and attempts to acquire sk_session_queue_lock, and at the same time,<br /> another thread attempts to acquire j1939_socks_lock while holding<br /> sk_session_queue_lock.<br /> <br /> NOTE: This patch along does not fix the unregister_netdevice bug<br /> reported by Syzbot; instead, it solves a deadlock situation to prepare<br /> for one or more further patches to actually fix the Syzbot bug, which<br /> appears to be a reference counting problem within the j1939 codebase.<br /> <br /> [mkl: remove unrelated newline change]

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.149 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.79 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.18 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.7.6 (excluding)
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*