CVE-2026-31474CWE-364CWE-416

CVE-2026-31474

High · published April 22, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
3.2
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00142 · 3.2th percentile
Weaknesses
CWE-364 · Signal Handler Race Condition; CWE-416 · Use After Free
Published
2026-04-22T18:16Z
Affected products (12)
ProductVersionsFixed in
linux/linux_kernel≥ 6.4.1, < 6.6.1316.6.131
linux/linux_kernel≥ 6.7, < 6.12.806.12.80
linux/linux_kernel≥ 6.13, < 6.18.216.18.21
linux/linux_kernel≥ 6.19, < 6.19.116.19.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 22 APR 13:54Z
    can: isotp: fix tx.buf use-after-free in isotp_sendmsg()
    cvelistv5