Description
In the Linux kernel, the following vulnerability has been resolved: can: netlink: can_changelink(): fix NULL pointer deref of struct can_priv::do_set_mode Andrei Lalaev reported a NULL pointer deref when a CAN device is restarted from Bus Off and the driver does not implement the struct can_priv::do_set_mode callback. There are 2 code path that call struct can_priv::do_set_mode: - directly by a manual restart from the user space, via can_changelink() - delayed automatic restart after bus off (deactivated by default) To prevent the NULL pointer deference, refuse a manual restart or configure the automatic restart delay in can_changelink() and report the error via extack to user space. As an additional safety measure let can_restart() return an error if can_priv::do_set_mode is not set instead of dereferencing it unchecked.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
39549eef3587f1c1e8c65c88a2400d10fd30ea17 to < 6bbcf37c5114926c99a1d1e6993a5b35689d2599affected39549eef3587f1c1e8c65c88a2400d10fd30ea17 to < cf81a60a973358dea163f6b14062f17831ceb894affected39549eef3587f1c1e8c65c88a2400d10fd30ea17 to < 0ca816a96fdcf32644c80cbe7a82c7b6ce6ddda5affected39549eef3587f1c1e8c65c88a2400d10fd30ea17 to < 6acceb46180f9e160d4f0c56fcaf39ba562822aeaffected39549eef3587f1c1e8c65c88a2400d10fd30ea17 to < c1f3f9797c1f44a762e6f5f72520b2e520537b52affected
Linux Linux
Default version status: affected
2.6.31affected0 to < 2.6.31unaffected6.1.148 to ≤ 6.1.*unaffected6.6.101 to ≤ 6.6.*unaffected6.12.41 to ≤ 6.12.*unaffected6.15.9 to ≤ 6.15.*unaffected6.16 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6bbcf37c5114926c99a1d1e6993a5b35689d2599 ↗
- https://git.kernel.org/stable/c/cf81a60a973358dea163f6b14062f17831ceb894 ↗
- https://git.kernel.org/stable/c/0ca816a96fdcf32644c80cbe7a82c7b6ce6ddda5 ↗
- https://git.kernel.org/stable/c/6acceb46180f9e160d4f0c56fcaf39ba562822ae ↗
- https://git.kernel.org/stable/c/c1f3f9797c1f44a762e6f5f72520b2e520537b52 ↗
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html ↗