{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-54152","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-24T13:02:52.529Z","datePublished":"2025-12-24T13:07:03.310Z","dateUpdated":"2026-05-11T19:56:29.583Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T19:56:29.583Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: j1939: prevent deadlock by moving j1939_sk_errqueue()\n\nThis commit addresses a deadlock situation that can occur in certain\nscenarios, such as when running data TP/ETP transfer and subscribing to\nthe error queue while receiving a net down event. The deadlock involves\nlocks in the following order:\n\n3\n  j1939_session_list_lock ->  active_session_list_lock\n  j1939_session_activate\n  ...\n  j1939_sk_queue_activate_next -> sk_session_queue_lock\n  ...\n  j1939_xtp_rx_eoma_one\n\n2\n  j1939_sk_queue_drop_all  ->  sk_session_queue_lock\n  ...\n  j1939_sk_netdev_event_netdown -> j1939_socks_lock\n  j1939_netdev_notify\n\n1\n  j1939_sk_errqueue -> j1939_socks_lock\n  __j1939_session_cancel -> active_session_list_lock\n  j1939_tp_rxtimer\n\n       CPU0                    CPU1\n       ----                    ----\n  lock(&priv->active_session_list_lock);\n                               lock(&jsk->sk_session_queue_lock);\n                               lock(&priv->active_session_list_lock);\n  lock(&priv->j1939_socks_lock);\n\nThe solution implemented in this commit is to move the\nj1939_sk_errqueue() call out of the active_session_list_lock context,\nthus preventing the deadlock situation."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/can/j1939/transport.c"],"versions":[{"version":"5b9272e93f2efe3f6cda60cc2c26817b2ce49386","lessThan":"8a581b71cf686b4cd1a85c9c2dfc2fb88382c3b4","status":"affected","versionType":"git"},{"version":"5b9272e93f2efe3f6cda60cc2c26817b2ce49386","lessThan":"ace6aa2ab5ba5869563ca689bbd912100514ae7b","status":"affected","versionType":"git"},{"version":"5b9272e93f2efe3f6cda60cc2c26817b2ce49386","lessThan":"f09ce9d765de1f064ce3919f57c6beb061744784","status":"affected","versionType":"git"},{"version":"5b9272e93f2efe3f6cda60cc2c26817b2ce49386","lessThan":"d1366b283d94ac4537a4b3a1e8668da4df7ce7e9","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/can/j1939/transport.c"],"versions":[{"version":"5.15","status":"affected"},{"version":"0","lessThan":"5.15","status":"unaffected","versionType":"semver"},{"version":"5.15.106","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.23","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2.10","lessThanOrEqual":"6.2.*","status":"unaffected","versionType":"semver"},{"version":"6.3","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"5.15.106"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.1.23"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.2.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.3"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/8a581b71cf686b4cd1a85c9c2dfc2fb88382c3b4"},{"url":"https://git.kernel.org/stable/c/ace6aa2ab5ba5869563ca689bbd912100514ae7b"},{"url":"https://git.kernel.org/stable/c/f09ce9d765de1f064ce3919f57c6beb061744784"},{"url":"https://git.kernel.org/stable/c/d1366b283d94ac4537a4b3a1e8668da4df7ce7e9"}],"title":"can: j1939: prevent deadlock by moving j1939_sk_errqueue()","x_generator":{"engine":"bippy-1.2.0"}}}}