CVE-2025-39873
Vulnerability Summary
Timeline
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]
CVSS Metrics
- v3.1•HIGH•Score: 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Trends
Current EPSS score: 0.02%• Percentile: 6%
Techniques & Countermeasures
- CWE-416•Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Affected Systems
- debian•debian_linux
11.0
- linux•linux
≥ 1598efe57b3e768056e4ca56cb9cf33111e68d1c, < e202ffd9e54538ef67ec301ebd6d9da4823466c9 | ≥ 1598efe57b3e768056e4ca56cb9cf33111e68d1c, < 1139321161a3ba5e45e61e0738b37f42f20bc57a | ≥ 1598efe57b3e768056e4ca56cb9cf33111e68d1c, < 94b050726288a56a6b8ff55aa641f2fedbd3b44c | ≥ 1598efe57b3e768056e4ca56cb9cf33111e68d1c, < 725b33deebd6e4c96fe7893f384510a54258f28f | ≥ 1598efe57b3e768056e4ca56cb9cf33111e68d1c, < 668cc1e3bb21101d074e430de1b7ba8fd10189e7 | ≥ 1598efe57b3e768056e4ca56cb9cf33111e68d1c, < ef79f00be72bd81d2e1e6f060d83cf7e425deee4 | 4.19
- 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:rc1 | 6.17:rc2 | 6.17:rc3 | 6.17:rc4 | 6.17:rc5
References (7)
- https://git.kernel.org/stable/c/e202ffd9e54538ef67ec301ebd6d9da4823466c9
- https://git.kernel.org/stable/c/1139321161a3ba5e45e61e0738b37f42f20bc57a
- https://git.kernel.org/stable/c/94b050726288a56a6b8ff55aa641f2fedbd3b44c
- https://git.kernel.org/stable/c/725b33deebd6e4c96fe7893f384510a54258f28f
- https://git.kernel.org/stable/c/668cc1e3bb21101d074e430de1b7ba8fd10189e7
- https://git.kernel.org/stable/c/ef79f00be72bd81d2e1e6f060d83cf7e425deee4
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html