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.
Published: 2026-04-22
Score: 5.5 Medium
EPSS: n/a
KEV: No
Impact: Use‑After‑Free in Linux CAN ISO‑TP driver
Action: Immediate Patch
AI Analysis

Impact

The CVE involves a use‑after‑free flaw in the Linux kernel's CAN ISO‑TP driver. When a close operation is interrupted by a signal while a transmission is in progress, the driver may free the transmission buffer before the sending routine has finished using it. This exposes corrupted memory references that could lead to a kernel crash, data corruption, or a denial‑of‑service condition for the affected system.

Affected Systems

All Linux kernel installations that include the problematic CAN ISO‑TP driver are potentially vulnerable; the CVE does not specify particular kernel releases, and the list of affected versions is not provided in the vendor data.

Risk and Exploitability

The vulnerability is limited to kernel space and requires local or remote code execution that can trigger the close path with an interrupting signal. While no exploit proof‑of‑concepts have been reported, the use‑after‑free could be leveraged to crash the system or perform memory corruption. Because the exploit requires precise timing of an interrupt during a close operation, the probability of successful exploitation is unclear, and the EPSS score is not available. Nevertheless, the vulnerability is listed in the kernel source, and the recommendation is to treat it as a high‑risk issue.

Generated by OpenCVE AI on April 22, 2026 at 18:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch for the ISO‑TP sendmsg use‑after‑free bug
  • Reboot the system after upgrading to ensure the new kernel is running
  • If an immediate upgrade is not possible, consider disabling the ISO‑TP functionality in the CAN network stack or isolating CAN devices until a patched kernel is available

Generated by OpenCVE AI on April 22, 2026 at 18:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Apr 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-364
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 22 Apr 2026 19:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 22 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
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.
Title can: isotp: fix tx.buf use-after-free in isotp_sendmsg()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-04-22T13:54:03.100Z

Reserved: 2026-03-09T15:48:24.098Z

Link: CVE-2026-31474

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-04-22T14:16:44.053

Modified: 2026-04-22T14:16:44.053

Link: CVE-2026-31474

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-04-22T00:00:00Z

Links: CVE-2026-31474 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-22T22:30:28Z

Weaknesses