CVE-2026-22997 net: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the second rts
A refcount leak in the Linux kernel's J1939 CAN protocol implementation can cause a denial of service by preventing network device unregistration.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-22997?
CVE-2026-22997 is a high-severity denial of service vulnerability in Linux kernel, published on 25 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
net: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the second rts
Since j1939_session_deactivate_activate_next() in j1939_tp_rxtimer() is called only when the timer is enabled, we need to call j1939_session_deactivate_activate_next() if we cancelled the timer. Otherwise, refcount for j1939_session leaks, which will later appear as
| unregister_netdevice: waiting for vcan0 to become free. Usage count = 2.
problem.
Weakness: CWE-772
Which versions are affected by CVE-2026-22997?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-22997?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-22997 being exploited?
There is no known exploitation of CVE-2026-22997 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-77316, AZL-78479, BELL-CVE-2026-22997, DEBIAN-CVE-2026-22997, GHSA-86mf-f3rq-8369, ROOT-OS-UBUNTU-2204-CVE-2026-22997 and 2 more.