CVE-2026-23357
Publiée le 2026-03-25 · Dernière modification le 2026-10-15
Les systèmes Linux utilisant le pilote mcp251x pour les contrôleurs de bus CAN sont affectés par un risque de blocage (deadlock). Un attaquant disposant d'un accès local avec des privilèges restreints peut déclencher ce bug pour faire planter le système, entraînant un déni de service. L'exploitation est simple et ne nécessite aucune interaction de l'utilisateur, mais elle doit être effectuée par un utilisateur déjà connecté à la machine.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
Description officielle du NVD (en anglais)
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.