CVE-2025-68776 Overview
CVE-2025-68776 is a NULL pointer dereference vulnerability in the Linux kernel's High-availability Seamless Redundancy (HSR) and Parallel Redundancy Protocol (PRP) networking subsystem. The vulnerability exists in the prp_get_untagged_frame() function, which fails to validate the return value of __pskb_copy() before passing it to skb_clone(). When memory allocation fails and __pskb_copy() returns NULL, the subsequent call to skb_clone() with a NULL pointer triggers a kernel crash.
Critical Impact
This vulnerability can cause a kernel panic and system crash when processing specially crafted network frames through HSR/PRP interfaces, resulting in a denial of service condition affecting systems using industrial redundancy protocols.
Affected Products
- Linux Kernel (HSR/PRP networking subsystem)
- Systems using High-availability Seamless Redundancy (HSR) protocol
- Systems using Parallel Redundancy Protocol (PRP)
Discovery Timeline
- 2026-01-13 - CVE CVE-2025-68776 published to NVD
- 2026-01-13 - Last updated in NVD database
Technical Details for CVE-2025-68776
Vulnerability Analysis
The vulnerability is a classic NULL pointer dereference resulting from missing error handling in the kernel's HSR/PRP frame processing code. The prp_get_untagged_frame() function is responsible for creating untagged copies of network frames for redundancy protocol processing. It calls __pskb_copy() to allocate and copy the socket buffer structure (frame->skb_std), but fails to check if the allocation was successful before proceeding with subsequent operations.
When the system is under memory pressure or an attacker can trigger allocation failures, __pskb_copy() returns NULL. The code then passes this NULL pointer to skb_clone(), which attempts to dereference it at offset 0x78-0x7f (as indicated by the KASAN report), causing a general protection fault and kernel panic. The crash occurs in the skb_clone() function at net/core/skbuff.c:2041.
The call trace shows the vulnerability is triggered through the network receive path: netif_receive_skb → hsr_handle_frame → hsr_forward_skb → hsr_forward_do → prp_get_untagged_frame. This means any network traffic processed by an HSR/PRP interface could potentially trigger this crash if memory allocation fails at the right moment.
Root Cause
The root cause is a missing NULL check after calling __pskb_copy() in the prp_get_untagged_frame() function. The __pskb_copy() function can return NULL when memory allocation fails, but the PRP code did not handle this error condition. This is a common class of kernel programming error where allocation return values are not properly validated before use.
The fix adds a NULL check immediately after the __pskb_copy() call to handle allocation failures gracefully, preventing the crash by returning early when the allocation fails rather than passing a NULL pointer to skb_clone().
Attack Vector
The attack vector involves network-based exploitation through HSR/PRP interface traffic processing. An attacker with network access to a system running HSR/PRP could potentially trigger this vulnerability by:
- Sending crafted network frames to an HSR/PRP interface while the system is under memory pressure
- Coordinating a memory exhaustion condition with network traffic to increase the likelihood of allocation failure
- Repeatedly sending frames to trigger the vulnerable code path until an allocation failure occurs
The vulnerability was discovered through syzkaller fuzzing, as indicated by the syz.1.18 process name in the crash log. This suggests the vulnerability can be triggered through the TUN/TAP interface, which was used to inject packets in the fuzzing scenario (tun_get_user → tun_chr_write_iter in the call trace).
Detection Methods for CVE-2025-68776
Indicators of Compromise
- Kernel panic messages containing general protection fault or null-ptr-deref in the HSR/PRP code paths
- Crash dumps with RIP pointing to skb_clone in net/core/skbuff.c
- KASAN reports indicating null pointer dereference in range 0x0000000000000078-0x000000000000007f
- System instability or unexpected reboots on systems using HSR/PRP networking
Detection Strategies
- Monitor kernel logs for oops messages referencing hsr_forward_skb, hsr_handle_frame, or prp_get_untagged_frame
- Implement kernel crash dump analysis to identify NULL pointer dereferences in the HSR subsystem
- Deploy KASAN-enabled kernels in testing environments to detect memory safety issues
Monitoring Recommendations
- Configure kernel crash dump collection (kdump) to capture detailed crash information
- Monitor system availability metrics for unexpected reboots on systems using HSR/PRP protocols
- Review kernel ring buffer (dmesg) for warning messages related to memory allocation failures in networking code
How to Mitigate CVE-2025-68776
Immediate Actions Required
- Apply the official kernel patches as soon as they are available for your distribution
- Monitor systems using HSR/PRP protocols for signs of exploitation or instability
- Consider temporarily disabling HSR/PRP functionality on non-critical systems until patched
- Ensure systems have adequate memory resources to reduce likelihood of allocation failures
Patch Information
Multiple kernel patches have been released to address this vulnerability. The fix adds a NULL check immediately after the __pskb_copy() call to handle allocation failures gracefully. The following commits contain the fix:
- Kernel Patch Commit 1742974
- Kernel Patch Commit 188e0fa5
- Kernel Patch Commit 6220d38
- Kernel Patch Commit 7be6d25
- Kernel Patch Commit 8f289fa1
Workarounds
- Disable HSR/PRP networking functionality if not required for operations
- Implement network segmentation to limit exposure of HSR/PRP interfaces to untrusted networks
- Increase system memory resources to reduce the likelihood of allocation failures triggering the vulnerability
- Consider using traffic shaping to limit the rate of packets processed by HSR/PRP interfaces
# Disable HSR module if not required
sudo modprobe -r hsr
# Prevent HSR module from loading at boot
echo "blacklist hsr" | sudo tee /etc/modprobe.d/blacklist-hsr.conf
# Verify HSR module is not loaded
lsmod | grep hsr
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

