CVE Catalog

CVE-2026-31474

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.10%

1th percentile - higher than 1% of all known CVEs

Summary

In the Linux kernel's CAN ISO-TP subsystem, a use-after-free vulnerability was found in isotp_sendmsg(). Improper synchronization of so->tx.buf access allows the buffer to be freed during socket close while another thread is still using it.

Risk Assessment

An attacker could exploit this to access freed memory, potentially leading to arbitrary code execution in the kernel or system crash (DoS).

Recommendation

Immediately update the Linux kernel to a version containing the fix that moves buffer deallocation to sk_destruct time, ensuring safe operation completion.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: can: isotp: fix tx.buf use-after-free in isotp_sendmsg() isotp_sendmsg() uses only cmpxchg() on so->tx.state to serialize access to so->tx.buf. isotp_release() waits for ISOTP_IDLE via wait_event_interruptible() and then calls kfree(so->tx.buf). If a signal interrupts the wait_event_interruptible() inside close() while tx.state is ISOTP_SENDING, the loop exits early and release proceeds to force ISOTP_SHUTDOWN and continues to kfree(so->tx.buf) while sendmsg may still be reading so->tx.buf for the final CAN frame in isotp_fill_dataframe(). The so->tx.buf can be allocated once when the standard tx.buf length needs to be extended. Move the kfree() of this potentially extended tx.buf to sk_destruct time when either isotp_sendmsg() and isotp_release() are done.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS