CVE-2026-99053 in Linuxinfo

Zusammenfassung

von VulDB • 23.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

tipc: Referenz auf Knoten halten, die über den Link-Namen gefunden wurden

tipc_node_find_by_name() gibt einen Knoten zurück, nachdem das RCU-Lese-Sperre (RCU read lock) freigegeben wurde, ohne eine Referenz zu übernehmen. Die Handler für LINK_SET, LINK_GET und LINK_RESET_STATS sperren dann den Knoten und greifen darauf zu, was zu einer Race Condition mit der timer-gesteuerten Bereinigung eines heruntergefahrenen Peers führt. Die Serialisierung über Generic Netlink schließt den Knoten-Timer nicht aus.

Die folgende Interleaving-Situation kann dazu führen, dass ein Handler einen bereits freigegebenen (freed) Knoten verwendet:

CPU 0: Findet den Knoten unter RCU und gibt die Lese-Sperre des Knotens frei CPU 1: tipc_node_timeout() löscht die Links und entfernt den heruntergefahrenen Knoten aus der Liste CPU 1: Gibt die Listen- und Timer-Referenzen ab, wodurch tipc_node_free() in die Warteschlange gestellt wird CPU 0: Verlässt den RCU-Leseseitigen kritischen Abschnitt (RCU read-side critical section) CPU 1: Schließt die Grace Period ab und gibt den Knoten frei CPU 0: Erwirbt die Knotensperre über den veralteten Zeiger (stale pointer)

LINK_SET verwendet auch die Medienadresse des Knotens, nachdem die Knotensperre freigegeben wurde, wenn gepufferte Pakete an tipc_bearer_xmit() weitergeleitet werden.

KASAN auf v7.3-rc5 meldete:

BUG: KASAN: slab-use-after-free in _raw_read_lock_bh Write of size 4 at addr ffff88807e06f008 by task poc/92 Call Trace: _raw_read_lock_bh kernel/locking/spinlock.c:287 tipc_nl_node_set_link net/tipc/node.c:2475 genl_family_rcv_msg_doit net/netlink/genetlink.c:1114 genl_rcv_msg net/netlink/genetlink.c:1209 netlink_rcv_skb net/netlink/af_netlink.c:2575

Allocated by task 0: tipc_node_create net/tipc/node.c:539 tipc_node_check_dest net/tipc/node.c:1196 tipc_disc_rcv net/tipc/discover.c:252

Freed by task 92: kfree mm/slub.c:6801 rcu_core kernel/rcu/tree.c:2919

Last potentially related work creation: __call_rcu_common.constprop.0 kernel/rcu/tree.c:3181 tipc_node_timeout net/tipc/node.c:814

Erwerben Sie eine Referenz auf den ausgewählten Knoten mit kref_get_unless_zero(), bevor Sie RCU verlassen, und geben Sie NULL zurück, wenn der Knoten bereits freigegeben wurde. Geben Sie diese Referenz bei jedem Aufrufer-Ausgang nach dem letzten Zugriff auf den Knoten frei, einschließlich der Übertragung in LINK_SET. Behalten Sie die bestehende Link-Suchreihenfolge und -Sperren (locking) bei, damit eine gleichzeitige Link-Entfernung weiterhin die bestehenden Fehlerpfade nutzt.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

23.10.2026

Moderieren

akzeptiert

Eintrag

VDB-425841

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!