CVE-2026-31676 Overview
CVE-2026-31676 is a race condition vulnerability in the Linux kernel's rxrpc (Rx Remote Procedure Call) subsystem. The vulnerability exists in the handling of RESPONSE packets during service connection challenges. The issue allows duplicate or late RESPONSE packets to re-run the security setup path when a service connection has already transitioned out of the RXRPC_CONN_SERVICE_CHALLENGING state.
The flaw occurs because the code does not properly check the connection state under state_lock before running response verification and security initialization. This allows attackers to trigger the setup path multiple times through carefully crafted RESPONSE packets, potentially causing denial of service conditions.
Critical Impact
Network-accessible denial of service vulnerability in Linux kernel rxrpc subsystem that can be exploited without authentication to disrupt system availability.
Affected Products
- Linux Kernel (rxrpc subsystem)
Discovery Timeline
- 2026-04-25 - CVE-2026-31676 published to NVD
- 2026-04-27 - Last updated in NVD database
Technical Details for CVE-2026-31676
Vulnerability Analysis
This vulnerability is a race condition in the Linux kernel's rxrpc protocol implementation. The rxrpc subsystem provides reliable, authenticated communication services within the kernel, commonly used by distributed file systems like AFS (Andrew File System).
The vulnerable code path processes RESPONSE packets during service connection authentication. When a service connection is in the RXRPC_CONN_SERVICE_CHALLENGING state, it expects RESPONSE packets from clients to complete the challenge-response authentication process. However, the state check was performed without proper locking, creating a time-of-check time-of-use (TOCTOU) race condition.
An attacker capable of sending network traffic to affected systems can exploit this race condition by sending duplicate or late RESPONSE packets. These packets can bypass the intended state check and cause the security initialization code to execute multiple times, leading to undefined behavior and potential system instability.
Root Cause
The root cause is an improper synchronization mechanism in the rxrpc connection state management. The code was checking the connection state without holding the state_lock, allowing concurrent packet processing to observe stale state information. After transitioning out of the RXRPC_CONN_SERVICE_CHALLENGING state, subsequent RESPONSE packets could still trigger the response verification and security initialization code paths.
The fix implements proper locking by checking the state under state_lock before running response verification and security initialization. A local secured flag is used to determine whether to queue the secured-connection work after the state transition, ensuring thread-safe state management.
Attack Vector
The vulnerability is exploitable over the network without requiring any authentication or user interaction. An attacker can send crafted RESPONSE packets to an rxrpc service endpoint:
- The attacker initiates or observes a legitimate rxrpc service connection entering the challenge state
- Multiple RESPONSE packets are sent in quick succession, exploiting the race window
- The unlocked state check allows duplicate packets to re-run the security setup path
- This can cause resource exhaustion, state corruption, or system instability
The attack can be conducted remotely against any system with the rxrpc module loaded and accepting connections. No special privileges are required on the attacking system.
Detection Methods for CVE-2026-31676
Indicators of Compromise
- Unusual volume of rxrpc RESPONSE packets from external sources
- Kernel log messages indicating rxrpc connection state errors or security initialization failures
- System instability or crashes in the rxrpc or related kernel modules
- Abnormal resource consumption associated with rxrpc connection handling
Detection Strategies
- Monitor network traffic for high volumes of rxrpc protocol traffic targeting affected systems
- Implement kernel auditing to detect unusual rxrpc subsystem activity
- Deploy intrusion detection rules to identify suspicious RESPONSE packet patterns
- Review kernel logs for rxrpc-related warnings or errors indicating exploitation attempts
Monitoring Recommendations
- Enable detailed kernel logging for the rxrpc subsystem to capture connection state transitions
- Configure network monitoring to baseline normal rxrpc traffic patterns and alert on anomalies
- Implement system resource monitoring to detect potential denial of service conditions
- Deploy endpoint detection solutions capable of monitoring kernel-level activity
How to Mitigate CVE-2026-31676
Immediate Actions Required
- Apply the kernel security patches from the official kernel.org stable branches immediately
- If patching is not immediately possible, consider disabling the rxrpc module if not required
- Monitor affected systems for signs of exploitation or unusual rxrpc activity
- Review firewall rules to restrict rxrpc traffic to trusted sources only
Patch Information
The vulnerability has been addressed in multiple kernel stable branches. Patches are available from the official kernel.org repository:
- Kernel Patch 03fd2ef73cb4
- Kernel Patch 29b44d904dc
- Kernel Patch a6bcf8010af0
- Kernel Patch c43ffdcfdbb
- Kernel Patch d0035e634dae
The fix ensures state checks are performed under state_lock and uses a local secured flag to safely handle state transitions.
Workarounds
- Disable the rxrpc kernel module using modprobe -r rxrpc if the functionality is not required
- Implement network-level filtering to block rxrpc traffic from untrusted sources
- Use host-based firewalls to restrict access to rxrpc services to authorized clients only
- Consider network segmentation to isolate systems running rxrpc services from untrusted networks
# Disable rxrpc module if not required
modprobe -r rxrpc
# Block rxrpc traffic at the firewall (example using iptables)
# Note: rxrpc uses UDP port 7001 by default for AFS
iptables -A INPUT -p udp --dport 7001 -j DROP
# Check if rxrpc module is loaded
lsmod | grep rxrpc
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

