{
    "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"
            }
        }
    }
}