Skip to content
Heist/ feed
Back to feed
UnratedFix available

can: mcp251x: fix deadlock in error path of mcp251x_open

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.253, 5.15.203, 6.1.167, 6.12.77, 6.18.17, 6.19.7, 6.6.130
CVEs
CVE-2026-23357
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 14:23 UTC · Revision 1

Source evidence

can: mcp251x: fix deadlock in error path of mcp251x_open

core-osv · Original source

Published 25 Mar 2026, 10:27 UTC

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.

osv:CVE-2026-23357

Kernel

Fixed versions: 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7

Complete source record
{
  "id": "08fd3530ce2637fce1e021e7e5c86ee136761452bb23bbabce843105e05d85e7",
  "url": "https://osv.dev/vulnerability/CVE-2026-23357",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "can: mcp251x: fix deadlock in error path of mcp251x_open",
    "summary": "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.",
    "evidence": "osv:CVE-2026-23357",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.253",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.203",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.167",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.130",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.77",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.17",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.19.7",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-23357",
      "aliases": [
        "CVE-2026-23357"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "bf66f3736a945dd4e92d86427276c6eeab0a6c1d"
                },
                {
                  "fixed": "739454057572cb0948658d1142f3fa2c6966465c"
                },
                {
                  "fixed": "416c18ecddafab0ed09be1e7b9d2f448f3d4db16"
                },
                {
                  "fixed": "256f0cff6e946c570392bda1d01a65e789a7afd0"
                },
                {
                  "fixed": "b73832292cd914e87a55e863ba4413a907e7db6b"
                },
                {
                  "fixed": "38063cc435b69d56e76f947c10d336fcb2953508"
                },
                {
                  "fixed": "d27f12c3f5e85efc479896af4a69eccb37f75e8e"
                },
                {
                  "fixed": "e728f444c913a91d290d1824b4770780bbd6378e"
                },
                {
                  "fixed": "ab3f894de216f4a62adc3b57e9191888cbf26885"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23357.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "2.6.34"
                },
                {
                  "fixed": "5.10.253"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.203"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.167"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.130"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.77"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.17"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "6.19.7"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23357.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:51.238609063Z",
      "provider": "osv",
      "references": [
        "https://cert-portal.siemens.com/productcert/html/ssa-784472.html",
        "https://git.kernel.org/stable/c/256f0cff6e946c570392bda1d01a65e789a7afd0",
        "https://git.kernel.org/stable/c/38063cc435b69d56e76f947c10d336fcb2953508",
        "https://git.kernel.org/stable/c/416c18ecddafab0ed09be1e7b9d2f448f3d4db16",
        "https://git.kernel.org/stable/c/739454057572cb0948658d1142f3fa2c6966465c",
        "https://git.kernel.org/stable/c/ab3f894de216f4a62adc3b57e9191888cbf26885",
        "https://git.kernel.org/stable/c/b73832292cd914e87a55e863ba4413a907e7db6b",
        "https://git.kernel.org/stable/c/d27f12c3f5e85efc479896af4a69eccb37f75e8e",
        "https://git.kernel.org/stable/c/e728f444c913a91d290d1824b4770780bbd6378e",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23357.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-23357",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23357.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-23357",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 519614,
  "published_at": "2026-03-25T10:27:41.299+00:00"
}