CVE-2026-80849 in Linuxinfo

Zusammenfassung

von VulDB • 04.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net/tcp-ao: Behebung eines Use-After-Free von current_key bei der Wiederherstellung der Verbindung zu einem anderen Peer

tcp_inbound_ao_hash() wird aufgerufen, bevor bh_lock_sock_nested() übernommen wird, wobei lediglich rcu_read_lock() gehalten ist. Im schnellen Pfad für etablierte Sockets, wenn die vom Peer gesendete rnext_keyid von current_key->sndid abweicht, wird der vom Peer angeforderte Schlüssel nachgeschlagen und in current_key gespeichert. Die Suche erfolgt innerhalb der RCU-Leseseite (RCU read side), aber current_key lebt länger als diese.

Wenn der Socket getrennt wird und connect() erneut für einen anderen Peer aufgerufen wird, entfernt tcp_ao_connect_init() jeden Schlüssel, der nicht mit dem neuen Peer übereinstimmt, und gibt ihn über call_rcu() frei. Wenn current_key auf einen solchen Schlüssel zeigt, wird er auf NULL gesetzt.

Der schnelle Pfad liest sk_state nur einmal beim Eintritt, sodass ein Softirq, das in den Socket eindringt, während dieser noch etabliert war, current_key aktualisieren kann, nachdem die Schleife bereits durchlaufen wurde. Die Aktualisierung erfolgt innerhalb der RCU-Leseseite, daher kommt sie vor dem call_rcu()-Callback, und sobald der Callback den Schlüssel freigibt, zeigt current_key auf freigegebenen Speicher (freed memory).

Die nächste Übertragung greift in tcp_get_current_key() auf diesen Zeiger zu. tcp_ao_transmit_skb() liest dann den Verkehrsschlüssel aus dem freigegebenen Objekt, was das Use-After-Free darstellt.

Warten Sie eine Grace-Periode (Gnadenfrist), bevor getrennt wird, und nur wenn ein Schlüssel entfernt werden soll. Zum Zeitpunkt des Aufrufs von tcp_connect() befindet sich der Socket bereits im Zustand TCP_SYN_SENT, und TCP_AO_ESTABLISHED enthält nicht TCPF_SYN_SENT, sodass ein Softirq, das nach dem Warten eindringt, den schnellen Pfad nicht erreichen kann, und diejenigen, die sich bereits darin befinden, sind fertig. Die vorhandene NULL-Handhabung in der Schleife ist dann ausreichend.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Linux

Reservieren

26.08.2026

Veröffentlichung

04.09.2026

Moderieren

akzeptiert

Eintrag

VDB-398910

CPE

bereit

EPSS

0.00168

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!