Skip to main content

Linux Kernel CVE-2026-53331

| EUVDEUVD-2026-40965 MEDIUM
2026-07-01 Linux GHSA-2xvr-5mwv-w22p
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local-only access required (AV:L), low-privilege sufficient (PR:L), no data exposure, availability-only impact from kernel deadlock.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 23, 2026 - 21:46 vuln.today
CVSS changed
Jul 23, 2026 - 21:38 NVD
5.5 (MEDIUM)
Patch available
Jul 01, 2026 - 15:16 EUVD
CVE Published
Jul 01, 2026 - 13:32 nvd
MEDIUM 5.5
CVE Published
Jul 01, 2026 - 13:32 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock

During the SSR/PDR down notification the tx_lock is taken with the intent to provide synchronization with active DMA transfers.

But during this period qcom_slim_ngd_down() is invoked, which ends up in slim_report_absent(), which takes the slim_controller lock. In multiple other codepaths these two locks are taken in the opposite order (i.e. slim_controller then tx_lock).

The result is a lockdep splat, and a possible deadlock:

rprocctl/449 is trying to acquire lock: ffff00009793e620 (&ctrl->lock){+.+.}-{4:4}, at: slim_report_absent (drivers/slimbus/core.c:322) slimbus

but task is already holding lock: ffff00009793fb50 (&ctrl->tx_lock){+.+.}-{4:4}, at: qcom_slim_ngd_ssr_pdr_notify (drivers/slimbus/qcom-ngd-ctrl.c:1475) slim_qcom_ngd_ctrl

which lock already depends on the new lock.

Possible unsafe locking scenario:

CPU0 CPU1 ---- ---- lock(&ctrl->tx_lock); lock(&ctrl->lock); lock(&ctrl->tx_lock); lock(&ctrl->lock);

The assumption is that the comment refers to the desire to not call qcom_slim_ngd_exit_dma() while we have an ongoing DMA TX transaction. But any such transaction is initiated and completed within a single qcom_slim_ngd_xfer_msg().

Prior to calling qcom_slim_ngd_exit_dma() the slim_controller is torn down, all child devices are notified that the slimbus is gone and the child devices are removed.

Stop taking the tx_lock in qcom_slim_ngd_ssr_pdr_notify() to avoid the deadlock.

AnalysisAI

Deadlock vulnerability in the Linux kernel's Qualcomm SLIMbus NGD controller driver (slimbus/qcom-ngd-ctrl) causes complete system availability loss through an ABBA lock-ordering inversion between tx_lock and ctrl->lock. Systems running affected kernel versions on Qualcomm SLIMbus-equipped hardware are vulnerable to kernel hangs when SSR/PDR (Subsystem Restart/Process Domain Restart) events race with ongoing DMA TX transactions. EPSS is 0.17% (7th percentile), no public exploit has been identified, and this vulnerability is not listed in CISA KEV.

Technical ContextAI

The vulnerability resides in the slimbus qcom-ngd-ctrl driver (drivers/slimbus/qcom-ngd-ctrl.c), which controls Qualcomm's Serial Line Interface Master Bus (SLIMbus) Next Generation Data-path controller. The root cause is a classic ABBA deadlock: during SSR/PDR down notifications, qcom_slim_ngd_ssr_pdr_notify() acquires tx_lock to synchronize DMA transfers, then internally calls qcom_slim_ngd_down() → slim_report_absent() which tries to acquire ctrl->lock (the slim_controller lock). Concurrently, other normal data-path codepaths acquire ctrl->lock first and then tx_lock, creating a circular dependency. CPE data confirms the affected component is cpe:2.3:a:linux:linux introduced at commit a899d324863a3d15ce0eea513884e1b73a758c58. Although NVD lists no CWE, this maps to CWE-667 (Improper Locking) and is reliably detected at runtime by Linux lockdep. The fix eliminates tx_lock acquisition inside qcom_slim_ngd_ssr_pdr_notify(), since the DMA transaction lifecycle is already self-contained within a single qcom_slim_ngd_xfer_msg() call and does not require external synchronization during teardown.

RemediationAI

Upgrade to a patched stable kernel release: 7.1 or later, 7.0.13 or later, 6.18.36 or later, 6.12.94 or later, 6.6.143 or later, 6.1.176 or later, or 5.15.210 or later. The upstream fixes are available at https://git.kernel.org/stable/c/aad4337a21b9ad3ae8d668fa8678d05e26ecbaa8 (7.x), https://git.kernel.org/stable/c/dc4d5c57e012c2c669793deb1515a57bbc6bf5dd (7.0.x), https://git.kernel.org/stable/c/55f2ea9ff83cc27a85526b14bc9b32f96a08d6ec (6.18.x), https://git.kernel.org/stable/c/9708eb50fd7343145b422be852f890212155d845 (6.12.x), https://git.kernel.org/stable/c/9f0d45d509b434c54da10e01f4ef8086e4583401 (6.6.x), https://git.kernel.org/stable/c/d54a221b0f3cd9e1f03f18104be34e02a8258fae (6.1.x), and https://git.kernel.org/stable/c/3d1561537237c6cc1db76155183d8bbdac2339f0 (5.15.x). If immediate kernel upgrade is not feasible on affected Qualcomm SLIMbus devices, a compensating control is to suppress or serialize SSR/PDR notifications at the system level, though this may impact hardware recovery behavior and is not recommended for production devices. There is no known runtime configuration toggle to disable the vulnerable code path without rebuilding the kernel.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

CVE-2026-53331 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy