CVE-2023-54152
In the Linux kernel, the following vulnerability has been resolved:
can: j1939: prevent deadlock by moving j1939_sk_errqueue()
This commit addresses a deadlock situation that can occur in certain scenarios, such as when running data TP/ETP transfer and subscribing to the error queue while receiving a net down event. The deadlock involves locks in the following order:
The solution implemented in this commit is to move the j1939_sk_errqueue() call out of the active_session_list_lock context, thus preventing the deadlock situation.
Detalles técnicos trazas, registros y código del informe original
3
j1939_session_list_lock -> active_session_list_lock
j1939_session_activate
...
j1939_sk_queue_activate_next -> sk_session_queue_lock
...
j1939_xtp_rx_eoma_one
2
j1939_sk_queue_drop_all -> sk_session_queue_lock
...
j1939_sk_netdev_event_netdown -> j1939_socks_lock
j1939_netdev_notify
1
j1939_sk_errqueue -> j1939_socks_lock
__j1939_session_cancel -> active_session_list_lock
j1939_tp_rxtimer
CPU0 CPU1
---- ----
lock(&priv->active_session_list_lock);
lock(&jsk->sk_session_queue_lock);
lock(&priv->active_session_list_lock);
lock(&priv->j1939_socks_lock);CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.20%
- Percentil entre todas las CVEs puntuadas: 9
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2023-54152",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5b9272e93f2efe3f6cda60cc2c26817b2ce49386",
"lessThan": "8a581b71cf686b4cd1a85c9c2dfc2fb88382c3b4",
"versionType": "git"
},
{
"status": "affected",
"version": "5b9272e93f2efe3f6cda60cc2c26817b2ce49386",
"lessThan": "ace6aa2ab5ba5869563ca689bbd912100514ae7b",
"versionType": "git"
},
{
"status": "affected",
"version": "5b9272e93f2efe3f6cda60cc2c26817b2ce49386",
"lessThan": "f09ce9d765de1f064ce3919f57c6beb061744784",
"versionType": "git"
},
{
"status": "affected",
"version": "5b9272e93f2efe3f6cda60cc2c26817b2ce49386",
"lessThan": "d1366b283d94ac4537a4b3a1e8668da4df7ce7e9",
"versionType": "git"
}
],
"programFiles": [
"net/can/j1939/transport.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5.15"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.15",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.15.106",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.23",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.2.10",
"versionType": "semver",
"lessThanOrEqual": "6.2.*"
},
{
"status": "unaffected",
"version": "6.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/can/j1939/transport.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2025-12-24T13:16:17.207",
"references": [
{
"url": "https://git.kernel.org/stable/c/8a581b71cf686b4cd1a85c9c2dfc2fb88382c3b4",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ace6aa2ab5ba5869563ca689bbd912100514ae7b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d1366b283d94ac4537a4b3a1e8668da4df7ce7e9",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f09ce9d765de1f064ce3919f57c6beb061744784",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Deferred",
"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."
}
],
"lastModified": "2026-06-17T06:46:53.800",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}