Monitor vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
7.8

CVE-2025-39873: Linux Kernel: Xilinx CAN Driver Skb Freeing Risk

CVE-2025-39873
Summary

A fix has been made to the Linux kernel's Xilinx CAN driver to prevent a situation where a piece of data (skb) is used after it's been freed. This issue is now resolved, but it's essential to update your system to the latest version of the Linux kernel to ensure you're protected. No action is required if you've already updated your kernel.

What to do

No fix is available yet. Check with your software vendor for updates.

Affected software
VendorProductAffected versions
linux linux_kernel >= 4.19, < 5.15.194
>= 5.16, < 6.1.153
>= 6.2, < 6.6.107
>= 6.7, < 6.12.48
>= 6.13, < 6.16.8
6.17
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
debian debian_linux 11.0
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
Original title
In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can: xcan_write_frame(): fix use-after-free of transmitted SKB can_put_echo_skb() takes ownership of the SKB and it...
Original description
In the Linux kernel, the following vulnerability has been resolved:

can: xilinx_can: xcan_write_frame(): fix use-after-free of transmitted SKB

can_put_echo_skb() takes ownership of the SKB and it may be freed
during or after the call.

However, xilinx_can xcan_write_frame() keeps using SKB after the call.

Fix that by only calling can_put_echo_skb() after the code is done
touching the SKB.

The tx_lock is held for the entire xcan_write_frame() execution and
also on the can_get_echo_skb() side so the order of operations does not
matter.

An earlier fix commit 3d3c817c3a40 ("can: xilinx_can: Fix usage of skb
memory") did not move the can_put_echo_skb() call far enough.

[mkl: add "commit" in front of sha1 in patch description]
[mkl: fix indention]
nvd CVSS3.1 7.8
Vulnerability type
CWE-416 Use After Free
Published: 23 Sep 2025 · Updated: 19 Jun 2026 · First seen: 7 Mar 2026