CVE-2023-52638

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52638
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52638.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-52638
Downstream
Related
Published
2024-04-03T14:54:41.271Z
Modified
2025-11-28T02:35:33.927881Z
Summary
can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock
Details

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

can: j1939: prevent deadlock by changing j1939sockslock to rwlock

The following 3 locks would race against each other, causing the deadlock situation in the Syzbot bug report:

  • j1939sockslock
  • activesessionlist_lock
  • sksessionqueue_lock

A reasonable fix is to change j1939sockslock to an rwlock, since in the rare situations where a write lock is required for the linked list that j1939sockslock is protecting, the code does not attempt to acquire any more locks. This would break the circular lock dependency, where, for example, the current thread already locks j1939sockslock and attempts to acquire sksessionqueuelock, and at the same time, another thread attempts to acquire j1939sockslock while holding sksessionqueuelock.

NOTE: This patch along does not fix the unregister_netdevice bug reported by Syzbot; instead, it solves a deadlock situation to prepare for one or more further patches to actually fix the Syzbot bug, which appears to be a reference counting problem within the j1939 codebase.

[mkl: remove unrelated newline change]

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52638.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Fixed
03358aba991668d3bb2c65b3c82aa32c36851170
Fixed
aedda066d717a0b4335d7e0a00b2e3a61e40afcf
Fixed
26dfe112ec2e95fe0099681f6aec33da13c2dd8e
Fixed
559b6322f9480bff68cfa98d108991e945a4f284
Fixed
6cdedc18ba7b9dacc36466e27e3267d201948c8d

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.149
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.79
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.18
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.6