CVE Catalog

CVE-2025-39873

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.15%

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

Summary

In the Linux kernel's Xilinx CAN driver, xcan_write_frame() called can_put_echo_skb(), which takes ownership of the SKB and may free it, but then continued to use the SKB, leading to a use-after-free. The fix moves the can_put_echo_skb() call after all SKB operations are complete, preventing the bug.

Risk Assessment

The organization may experience system crashes or incorrect CAN network behavior due to use-after-free, potentially leading to data loss or instability in CAN-based control systems.

Recommendation

It is recommended to update the Linux kernel to a version containing this fix to eliminate the use-after-free vulnerability in the xilinx_can driver.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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]

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