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.
Metrics
Affected Vendors & Products
References
History
Sat, 23 Aug 2025 11:00:00 +0000
Type | Values Removed | Values Added |
---|---|---|
First Time appeared |
Linux
Linux linux Kernel |
|
Vendors & Products |
Linux
Linux linux Kernel |
Sat, 23 Aug 2025 00:15:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | CWE-476 | |
References |
| |
Metrics |
threat_severity
|
cvssV3_1
|
Fri, 22 Aug 2025 16:15:00 +0000
Type | Values Removed | Values Added |
---|---|---|
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. | |
Title | can: netlink: can_changelink(): fix NULL pointer deref of struct can_priv::do_set_mode | |
References |
|
|

Status: PUBLISHED
Assigner: Linux
Published: 2025-08-22T16:02:57.458Z
Updated: 2025-08-22T16:02:57.458Z
Reserved: 2025-04-16T04:51:24.031Z
Link: CVE-2025-38665

No data.

Status : Awaiting Analysis
Published: 2025-08-22T16:15:41.860
Modified: 2025-08-22T18:08:51.663
Link: CVE-2025-38665
