---
id: CVE-2026-53389
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net/tcp-ao: fix use-after-free of key in del_async path

  In tcp_ao_delete_key(), the del_async path skips the current_key
  and rnext_key validity checks present in the s…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net/tcp-ao: fix use-after-free of key in del_async path

  In tcp_ao_delete_key(), the del_async path skips the current_key
  and rnext_key validity checks present in the s…
severity: none
published: '2026-07-19'
updated: '2026-07-19'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53389'
references:
  - url: 'https://git.kernel.org/stable/c/5ba9950bc9078e19b69cca1e56d1553b125c6857'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6ce7ef41743740ce15c2061561b784148b565b3f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7ddc29a094d96e9b3aa280433c6dc443df9eabf2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e77fbefd1269b5c123e7c651a1ebdce1b87d19a0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
ingestedAt: '2026-07-19T20:33:10.600Z'
epss: 0.0017
epssPercentile: 0.06745
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

net/tcp-ao: fix use-after-free of key in del_async path

In tcp_ao_delete_key(), the del_async path skips the current_key
and rnext_key validity checks present in the synchronous path,
assuming these pointers are always NULL on LISTEN sockets.  However,
if a key was added with set_current=1/set_rnext=1 while the socket
was in CLOSE state, current_key and rnext_key will be non-NULL
after listen() transitions the socket to LISTEN.

When such a key is deleted with del_async=1, hlist_del_rcu() and
call_rcu() free the key without clearing the dangling pointers.
After the RCU grace period, getsockopt(TCP_AO_INFO) dereferences
current_key->sndid and rnext_key->rcvid from freed slab memory.

Clear current_key and rnext_key in the del_async path when they
reference the key being deleted.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
