CVE-2026-31474

can: isotp: fix tx.buf use-after-free in isotp_sendmsg()

State
Published
Severity
7.8 High
Published
Apr 22, 2026
Updated
Oct 19, 2026
Reserved
Mar 9, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hredhat-SADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 96d1c81e6a0478535342dff6c730adb076cd84e8 to before cb3d6efa78460e6d50bf68806d0db66265709f64Affected
  • 96d1c81e6a0478535342dff6c730adb076cd84e8 to before 9649d051e54413049c009638ec1dc23962c884a4Affected
  • 96d1c81e6a0478535342dff6c730adb076cd84e8 to before eec8a1b18a79600bd4419079dc0026c1db72a830Affected
  • 96d1c81e6a0478535342dff6c730adb076cd84e8 to before 2e62e7051eca75a7f2e3d52d62ec10d7d7aa358cAffected
  • 96d1c81e6a0478535342dff6c730adb076cd84e8 to before 424e95d62110cdbc8fd12b40918f37e408e35a92Affected
LinuxLinux
  • 6.4Affected
  • before 6.4Not affected
  • 6.6.131 through 6.6.*Not affected
  • 6.12.80 through 6.12.*Not affected
  • 6.18.21 through 6.18.*Not affected
  • 6.19.11 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.