What’s Vulnerable › Vulnerabilities
CVE-2021-47459: can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv
- Severity: high (CVSS 7.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-05-22 · updated 2026-08-04
- Weakness: CWE-416
Description
In the Linux kernel, the following vulnerability has been resolved: can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv It will trigger UAF for rx_kref of j1939_priv as following. cpu0 cpu1 j1939_sk_bind(socket0, ndev0, ...) j1939_netdev_start j1939_sk_bind(socket1, ndev0, ...) j1939_netdev_start j1939_priv_set j1939_priv_get_by_ndev_locked j1939_jsk_add ..... j1939_netdev_stop kref_put_lock(&priv->rx_kref, ...) kref_get(&priv->rx_kref, ...) REFCOUNT_WARN("addition on 0;...") ==================================================== refcount_t: addition on 0; use-after-free. WARNING: CPU: 1 PID: 20874 at lib/refcount.c:25 refcount_warn_saturate+0x169/0x1e0 RIP: 0010:refcount_warn_saturate+0x169/0x1e0 Call Trace: j1939_netdev_start+0x68b/0x920 j1939_sk_bind+0x426/0xeb0 ? security_socket_bind+0x83/0xb0 The rx_kref's kref_get() and kref_put() should use j1939_netdev_lock to protect.
Affected products
- Linux kernel: from 5.4 before 5.4.156; from 5.5 before 5.10.76; from 5.11 before 5.14.15; 5.15-rc1, 5.15-rc2, 5.15-rc3, 5.15-rc4, 5.15-rc5, 5.15-rc6 — fixed in 5.10.76, 5.14.15, 5.4.156
How to fix
Upgrade to a fixed version: Linux kernel 5.10.76, 5.14.15, 5.4.156. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/6e8811707e2df0c6ba920f0cad3a3bca7b42132f
- https://git.kernel.org/stable/c/864e77771a24c877aaf53aee019f78619cbcd668
- https://git.kernel.org/stable/c/a0e47d2833b4f65e6c799f28c6b636d36b8b936d
- https://git.kernel.org/stable/c/d9d52a3ebd284882f5562c88e55991add5d01586
- https://git.kernel.org/stable/c/6e8811707e2df0c6ba920f0cad3a3bca7b42132f
- https://git.kernel.org/stable/c/864e77771a24c877aaf53aee019f78619cbcd668
- https://git.kernel.org/stable/c/a0e47d2833b4f65e6c799f28c6b636d36b8b936d
- https://git.kernel.org/stable/c/d9d52a3ebd284882f5562c88e55991add5d01586
Get alerted when CVE-2021-47459 or the next vulnerability affects your stack