Linux Kernel TCP-AO Key Deletion Use-After-Free Vulnerability

Vulnerability

A use-after-free vulnerability has been identified in the Linux kernel's TCP-AO (TCP Authentication Option) implementation. This issue arises in the asynchronous key deletion process, where certain validity checks are bypassed. Specifically, if a key is added while the socket is closed and then the socket is transitioned to the LISTEN state, the deletion can inadvertently free memory that is still in use. This flaw allows for the dereferencing of invalid memory, potentially leading to undefined behavior.

Impact

Exploitation of this vulnerability can cause a use-after-free condition, where freed memory is accessed, leading to potential memory corruption or arbitrary code execution.

Reproduction

To reproduce this vulnerability, add a TCP-AO key to a socket while it is in the CLOSE state, ensuring that the 'set_current' and 'set_rnext' options are enabled. Once the socket is in the LISTEN state, delete the key asynchronously. The deletion process will free the key without clearing the references, creating a dangling pointer. After the RCU grace period, use the 'getsockopt' function to access TCP-AO information, which will dereference the dangling pointer from the freed memory, triggering the use-after-free condition.

Remediation

The vulnerability has been fixed in the Linux kernel. Users should upgrade to the latest version where this issue has been addressed.

Added: Jul 19, 2026, 1:15 PM
Updated: Jul 19, 2026, 1:15 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
0.6
exploitability
3.9
remediation
7.7
relevance
9.7
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.