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

can: mcp251x: fix deadlock in error path of mcp251x_open

The mcp251x_open() function call free_irq() in its error path with the
mpc_lock mutex held. But if an interrupt already occurred the
interrupt handler will be waiting for the mpc_lock and free_irq() will
deadlock waiting for the handler to finish.

This issue is similar to the one fixed in commit 7dd9c26bd6cf ("can:
mcp251x: fix deadlock if an interrupt occurs during mcp251x_open") but
for the error path.

To solve this issue move the call to free_irq() after the lock is
released. Setting `priv->force_quit = 1` beforehand ensure that the IRQ
handler will exit right away once it acquired the lock.
Published: 2026-03-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Deadlock causing kernel stall
Action: Immediate Patch
AI Analysis

Impact

The vulnerability appears in the mcp251x CAN controller driver in the Linux kernel. During an error path in the mcp251x_open function, the driver calls free_irq while holding the mpc_lock mutex. If an interrupt has already occurred, the handler waits for the same mutex, resulting in a deadlock that stalls the kernel. This can lead to a denial‑of‑service condition, potentially making the system unresponsive or requiring a reboot. The weakness falls under CWEs that involve deadlocks (CWE‑833).

Affected Systems

The affected system is the Linux kernel. No specific kernel version numbers are listed in the available data, so any kernel that includes the mcp251x CAN driver before it was patched is potentially vulnerable. Users should verify whether their kernel contains the commit that introduced the fix or have performed a recent kernel update.

Risk and Exploitability

The CVSS base score of 5.5 indicates moderate severity. EPSS shows a probability of less than 1 %, and the vulnerability is not listed in CISA’s KEV catalog, suggesting it is not widely exploited. Attack vectors that can exploit this vulnerability appear to require local or privileged access to trigger the driver during a failing open operation, so it is not a remote exploit. Nevertheless, a local attacker who can manipulate the CAN controller could potentially cause the kernel to stall if the device generates an interrupt while the driver is trying to release its IRQ resources.

Generated by OpenCVE AI on March 26, 2026 at 14:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the mcp251x deadlock fix (committed in 2026‑03).
  • No specific workaround is available; avoid operations that trigger CAN controller initialization until an update is applied.

Generated by OpenCVE AI on March 26, 2026 at 14:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 18 Apr 2026 09:15:00 +0000


Thu, 26 Mar 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-485

Thu, 26 Mar 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-833
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Wed, 25 Mar 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-485

Wed, 25 Mar 2026 10:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: can: mcp251x: fix deadlock in error path of mcp251x_open The mcp251x_open() function call free_irq() in its error path with the mpc_lock mutex held. But if an interrupt already occurred the interrupt handler will be waiting for the mpc_lock and free_irq() will deadlock waiting for the handler to finish. This issue is similar to the one fixed in commit 7dd9c26bd6cf ("can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open") but for the error path. To solve this issue move the call to free_irq() after the lock is released. Setting `priv->force_quit = 1` beforehand ensure that the IRQ handler will exit right away once it acquired the lock.
Title can: mcp251x: fix deadlock in error path of mcp251x_open
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-04-18T08:58:09.426Z

Reserved: 2026-01-13T15:37:46.000Z

Link: CVE-2026-23357

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-03-25T11:16:34.450

Modified: 2026-04-18T09:16:20.930

Link: CVE-2026-23357

cve-icon Redhat

Severity : Low

Publid Date: 2026-03-25T00:00:00Z

Links: CVE-2026-23357 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-03-27T09:49:19Z

Weaknesses