Executive brief
A vulnerability in the Linux kernel's High-availability Seamless Redundancy (HSR) networking component can cause a complete system crash. HSR is a protocol used to ensure reliable communication in industrial and critical infrastructure networks. By sending a specially crafted or corrupted network packet, an attacker could trigger a kernel panic, leading to a denial of service that disrupts operations and network availability.
Technical details
A vulnerability exists in the Linux kernel's net/hsr component where receiving a corrupted HSR frame with insufficient space to hold the HSR tag in the socket buffer (skb) results in a kernel BUG (skb_under_panic). The root cause is in hsr_handle_frame(), which calls skb_set_network_header() without verifying the skb length, leading to incorrect mac_len and network_header offsets. This corruption propagates through hsr_forward_skb() and create_stripped_skb_hsr(), eventually causing a panic in br_dev_queue_push_xmit() when it attempts an skb_push() with insufficient headroom. The vulnerability can be exploited via AF_PACKET or potentially via adjacent network traffic. Patches have been released for multiple stable kernel branches to drop frames that cannot contain both Ethernet and HSR headers.
Affected products
- Linux Linux Kernel 6.15.0, 6.1.y, 6.6.y, 6.10.y, 6.11.y, 6.12.y, 6.13.y, 6.14.y
- Siemens SIMATIC CN 4100 before V5.0
Timeline
- 2025-08-19: disclosed: Vulnerability identified and patch authored by Jakub Acs
- 2025-08-28: patched: Patches committed to Linux stable trees
- 2025-09-05: advisory: CVE-2025-39703 published in NVD
References
- https://git.kernel.org/stable/c/3ae272ab523dd6bdc26e879027ed79feac9dd1b3
- https://git.kernel.org/stable/c/61009439e4bd8d74e705ee15940760321be91d8a
- https://git.kernel.org/stable/c/7af76e9d18a9fd6f8611b3313c86c190f9b6a5a7
- https://git.kernel.org/stable/c/8d9bc4a375a1ba05f7dfa0407de8e510ab9bd14d
- https://git.kernel.org/stable/c/acd69b597bd3f76d3b3d322b84082226c00eeaa4
- https://git.kernel.org/stable/c/b117c41b00902c1a7e24347c405cb82504aeae0b
- https://git.kernel.org/stable/c/b640188b8a6690e685939053c7efdbc7818b5f4e