CVE-2026-74586
sctp: new_transport beim Entfernen eines Peers löschen
- Veröffentlicht
- 22.08.2026
- Aktualisiert
- 25.08.2026
- CNA zuweisen
- Linux
- Beweise beobachtet
- 09.09.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 41,7 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Im Linux-Kernel wurde die folgende Schwachstelle behoben: sctp: new_transport löschen, wenn ein Peer entfernt wird. sctp_process_asconf_param() speichert einen neu hinzugefügten Peer-Transport in asoc->new_transport. Nachdem alle Parameter im ASCONF-Chunk verarbeitet wurden, verwendet sctp_sf_do_asconf() diesen Zeiger, um einen HEARTBEAT an den neuen Transport zu senden. Ein authentifiziertes ASCONF von einem entfernten SCTP-Peer kann einen Transport hinzufügen und ihn im selben Chunk mit einem Wildcard-DEL-IP-Parameter wieder entfernen. Die Wildcard-Löschung erhält den Transport, auf dem das ASCONF eingetroffen ist, entfernt jedoch den neu hinzugefügten Transport über sctp_assoc_del_nonprimary_peers(). Die Entfernung löscht asoc->new_transport nicht, sodass dieser weiterhin auf den entfernten Transport zeigt. sctp_sf_do_asconf() erstellt dann einen HEARTBEAT, dessen chunk->transport auf den entfernten Transport zeigt, ohne eine Transport-Referenz zu halten. Während des lokalen Adressersatzes hält src_out_of_asoc_ok diesen HEARTBEAT auf control_chunk_list. Nachdem der Transport per RCU freigegeben wurde, gibt ein erfolgreiches ASCONF_ACK für die Ersatzadresse den in der Warteschlange befindlichen HEARTBEAT frei, und sctp_outq_select_transport() liest den Zustand des freigegebenen Transports. Das Problem wurde bei einer statischen Prüfung von SCTP-Objekten gefunden. Mit einem authentifizierten Peer löste der Reproduzierer denselben KASAN-Bericht in 2 von 2 ungepatchten Läufen auf einem KASAN-fähigen netdev/main-Kernel aus: BUG: KASAN: slab-use-after-free in sctp_outq_select_transport Read of size 4 at addr ffff88800b9bd95c by task python3/197 Call Trace: sctp_outq_select_transport+0x549/0x8b0 [sctp] sctp_outq_flush+0x306/0x2c60 [sctp] sctp_transport_immediate_rtx+0xaf/0x260 [sctp] sctp_process_asconf_ack+0xa48/0xf70 [sctp] Allocated by task 197: sctp_transport_new+0x68/0x650 [sctp] sctp_assoc_add_peer+0x258/0x12a0 [sctp] sctp_process_asconf+0x5e9/0x1090 [sctp] Last potentially related work creation: __call_rcu_common.constprop.0+0x77/0xb70 sctp_assoc_del_nonprimary_peers+0x7c/0xd0 [sctp] sctp_process_asconf+0xd9c/0x1090 [sctp] Der erste ungültige Zugriff war ein Vier-Byte-Lesen von transport->state bei net/sctp/outqueue.c:833. Derselbe Reproduzierer führte die vollständige authentifizierte ASCONF- und lokale Adressersatz-Sequenz mit dieser Änderung ohne KASAN-Bericht oder Oops aus. Löschen Sie new_transport, wenn sein Peer entfernt wird, bevor er verwendet werden kann, um den HEARTBEAT zu erstellen.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.