CVE-2026-72418
Summary
by MITRE • 08/15/2026
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_conncount: prevent connlimit drops for early confirmed ct
Commit 69894e5b4c5e ("netfilter: nft_connlimit: update the count if add was skipped") introduced a regression where packets for valid connections are dropped when using connlimit for soft-limiting scenarios.
The issue occurs when a new connection reuses a socket currently in the TIME_WAIT state. In this scenario, the connection tracking entry is evaluated as already confirmed. Previously, __nf_conncount_add() assumed that if a connection was confirmed and did not originate from the loopback interface, it should skip the addition and return -EEXIST.
Skipping the addition triggers a garbage collection run that cleans up the TIME_WAIT connection. Consequently, the active connection count drops to 0, which xt_connlimit mishandles, leading to the false rejection of the perfectly valid new connection.
Fix this by replacing the interface check with protocol-agnostic state checks. We now skip the tree insertion and preserve the lockless garbage collection optimization only if the connection is IPS_ASSURED. This allows early-confirmed setup packets (such as reused TIME_WAIT sockets or locally generated SYN-ACKs) to be properly evaluated and counted without falsely dropping. The goto check_connections path is maintained to ensure these setup packets are deduplicated correctly.
This has been tested with slowhttptest and HTTP server configured locally to ensure we are not breaking soft-limiting scenarios for local or external connections. In addition, it was tested with a OVS zone limit too.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Analysis
by VulDB Data Team • 08/15/2026
The vulnerability resides within the linux kernel's netfilter subsystem specifically in the nf_conncount module which handles connection limiting functionality. This issue manifests when utilizing connlimit for soft-limiting scenarios where packet flow is incorrectly terminated due to improper handling of confirmed connections. The regression was introduced through commit 69894e5b4c5e which modified how connection tracking entries are processed during connlimit operations, creating a scenario where valid network traffic gets erroneously dropped.
The technical flaw occurs when a new connection attempts to reuse a socket that is currently in the TIME_WAIT state. Under normal circumstances, this socket reuse should be handled gracefully without disrupting legitimate traffic flow. However, the current implementation incorrectly evaluates such connections as already confirmed and proceeds to skip the addition process for these connection tracking entries. This behavior specifically affects connections that originate from non-loopback interfaces and are marked as confirmed in the connection tracking system.
When the addition is skipped due to this confirmation check, it triggers an immediate garbage collection cycle that cleans up the TIME_WAIT connection state. This cleanup operation results in the active connection count being reduced to zero, which creates a false positive condition within the xt_connlimit module. The module then incorrectly interprets this zero count as exceeding the configured soft limit and proceeds to drop what would otherwise be perfectly valid new connections.
The fix addresses this issue by replacing the interface-based check with more robust protocol-agnostic state validation mechanisms. Instead of relying on interface checks, the implementation now specifically evaluates whether the connection has reached the IPS_ASSURED state before skipping tree insertion operations. This approach preserves the lockless garbage collection optimization while ensuring that early-confirmed setup packets such as reused TIME_WAIT sockets or locally generated SYN-ACKs are properly evaluated and counted.
The solution maintains the critical goto check_connections path to ensure proper deduplication of these setup packets, preventing potential issues with duplicate connection tracking entries. This approach specifically targets connections that are marked as IPS_ASSURED while allowing other connection states to proceed through normal counting operations, thereby preserving the intended soft-limiting behavior for legitimate traffic scenarios.
Testing of this fix has been comprehensive and includes validation with slowhttptest tools to simulate various network conditions and HTTP server configurations to ensure local connection handling remains intact. Additional verification was performed using OVS zone limit scenarios to confirm that the fix does not break existing soft-limiting functionality for both local and external connections while maintaining proper system behavior under various network load conditions.
This vulnerability represents a specific case of improper state management in kernel-level connection tracking systems and aligns with CWE-691 which addresses insufficient control flow management. The issue also relates to ATT&CK technique T1071.004 which involves application layer protocol manipulation, specifically in how network protocols are handled during connection establishment phases. The fix demonstrates proper handling of connection state transitions and ensures that legitimate network operations are not disrupted by overly aggressive garbage collection behaviors in the connection tracking subsystem.