CVE-2023-54152 in Linux
Сводка
по VulDB • 24.06.2026
В ядре Linux устранена следующая уязвимость:
can: j1939: предотвращение взаимной блокировки (deadlock) путем перемещения функции j1939_sk_errqueue()
Этот коммит решает проблему взаимной блокировки, которая может возникать в определенных сценариях, например, при выполнении передачи данных TP/ETP и подписке на очередь ошибок во время получения события отключения сети (net down). Взаимная блокировка затрагивает мьютексы в следующем порядке:
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);
Решение, реализованное в этом коммите, заключается в перемещении вызова j1939_sk_errqueue() за пределы контекста блокировки active_session_list_lock, тем самым предотвращая ситуацию взаимной блокировки.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.