CVE-2026-23120 Overview
A data race vulnerability has been discovered in the Linux kernel's L2TP (Layer 2 Tunneling Protocol) implementation. The vulnerability exists in the l2tp_tunnel_del_work() function where concurrent access to sk->sk_socket can occur between the tunnel deletion worker thread and the socket release path, potentially leading to undefined behavior or system instability.
Critical Impact
This data race condition in the Linux kernel's L2TP subsystem can result in unpredictable system behavior when the socket pointer is accessed concurrently during tunnel deletion, potentially causing kernel crashes or data corruption.
Affected Products
- Linux Kernel (versions with L2TP tunnel support)
- Systems utilizing L2TP VPN tunneling
- Linux-based network appliances with L2TP enabled
Discovery Timeline
- 2026-02-14 - CVE CVE-2026-23120 published to NVD
- 2026-02-18 - Last updated in NVD database
Technical Details for CVE-2026-23120
Vulnerability Analysis
The vulnerability was identified by syzbot, the automated kernel fuzzing system, which detected a KCSAN (Kernel Concurrency Sanitizer) data race between two concurrent operations: l2tp_tunnel_del_work and sk_common_release. The race occurs when one task writes to the socket pointer at memory location 0xffff88811c182b20 while another task simultaneously reads from the same location.
The write operation occurs through the socket release path (sk_common_release → sock_orphan → sk_set_socket), which sets the socket pointer to NULL. Concurrently, the L2TP tunnel deletion worker (l2tp_tunnel_del_work) reads this same pointer without proper synchronization, leading to a potential use-after-free or NULL pointer dereference scenario.
Root Cause
The root cause is improper synchronization when accessing sk->sk_socket in the l2tp_tunnel_del_work() function. The code path reads the socket pointer without distinguishing between kernel sockets and userspace sockets. When dealing with userspace sockets, the socket can be released and orphaned by another task while the L2TP tunnel deletion worker is still running, creating a race window.
The fix ensures that sk->sk_socket is only read when dealing with kernel sockets, which have different lifecycle management and don't experience the same concurrent release pattern. This eliminates the race condition by avoiding the problematic read entirely for userspace socket scenarios.
Attack Vector
This vulnerability is triggered through a race condition between two kernel execution paths:
Socket Release Path: When a userspace application closes an L2TP socket, the sock_close() → inet_release() → udp_lib_close() → sk_common_release() chain executes, which calls sock_orphan() to disassociate the socket from its file descriptor and sets the socket pointer to NULL.
Tunnel Deletion Worker: Concurrently, the l2tp_tunnel_del_work() function runs as a scheduled work item and attempts to read sk->sk_socket without proper checks.
The data race manifests when these two paths execute simultaneously on different CPUs, with the value changing from a valid pointer (0xffff88811b818000) to NULL (0x0000000000000000) during the read operation, potentially leading to kernel crashes or memory corruption.
Detection Methods for CVE-2026-23120
Indicators of Compromise
- Kernel crash logs indicating NULL pointer dereference in l2tp_tunnel_del_work
- KCSAN warnings in kernel logs showing data-race between l2tp_tunnel_del_work and sk_common_release
- Unexpected system reboots or kernel panics when L2TP tunnels are being torn down
- Stack traces referencing net/l2tp/l2tp_core.c at line 1418
Detection Strategies
- Enable KCSAN (Kernel Concurrency Sanitizer) in development/testing kernels to detect data races proactively
- Monitor kernel logs for warnings containing "KCSAN: data-race in l2tp_tunnel_del_work"
- Deploy kernel debugging tools to trace L2TP tunnel lifecycle operations
- Review system crash dumps for evidence of race conditions in the L2TP subsystem
Monitoring Recommendations
- Configure syslog alerts for kernel KCSAN warnings and L2TP-related kernel messages
- Monitor system stability during L2TP tunnel setup/teardown operations
- Track kernel oops and panic events correlating with L2TP tunnel activity
- Implement automated kernel log analysis for race condition detection patterns
How to Mitigate CVE-2026-23120
Immediate Actions Required
- Update affected Linux kernel installations to patched versions that include the fix
- Review L2TP configuration and consider temporarily disabling L2TP tunneling if updates cannot be immediately applied
- Monitor systems for signs of kernel instability related to L2TP operations
- Prioritize patching on systems actively using L2TP VPN tunneling
Patch Information
Multiple patch commits have been released to address this vulnerability across different kernel branches:
| Commit | Reference |
|---|---|
| 1f63ca44b4f4 | Linux Kernel Commit 1f63ca44 |
| 32d417497b79 | Linux Kernel Commit 32d41749 |
| 36c40a80109f | Linux Kernel Commit 36c40a80 |
| 3d6d414b214c | Linux Kernel Commit 3d6d414b |
| 68e92085427c | Linux Kernel Commit 68e92085 |
| 7a29f6bf60f2 | Linux Kernel Commit 7a29f6bf |
| eae074dab764 | Linux Kernel Commit eae074da |
The patch modifies l2tp_tunnel_del_work() to only access sk->sk_socket when dealing with kernel sockets, eliminating the race condition with userspace socket release operations.
Workarounds
- Limit L2TP tunnel usage to essential operations until patches are applied
- Consider using alternative tunneling protocols (IPsec, WireGuard) where feasible as a temporary measure
- Implement additional monitoring on L2TP-enabled systems to detect potential instability
- Reduce concurrent L2TP tunnel creation/deletion operations where possible to minimize race condition exposure
# Check current kernel version for affected L2TP code
uname -r
# Verify L2TP module is loaded
lsmod | grep l2tp
# Monitor kernel logs for race condition warnings
dmesg | grep -i "kcsan\|l2tp\|data-race"
# If L2TP is not required, consider unloading the module temporarily
sudo modprobe -r l2tp_ppp l2tp_netlink l2tp_core
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

