CVE-2026-98276 in Linuxinfo

Zusammenfassung

von VulDB • 06.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net: Socket in sock_gettstamp() sperren

sk->sk_flags darf nur geändert werden, während die Socket-Sperre gehalten wird, da sock_set_flag() und sock_reset_flag() nicht-atomare Operationen (__set_bit() und __clear_bit()) verwenden.

sock_gettstamp() ist eine der letzten Stellen, an der ein Bit von sk->sk_flags aus einem Systemaufruf heraus geändert wird, ohne die Socket-Sperre zu besitzen, durch sock_enable_timestamp(sk, SOCK_TIMESTAMP).

sk_set_memalloc() und sk_clear_memalloc() ändern ebenfalls sk->sk_flags ohne die Socket-Sperre, aber ihre Aufrufer (nbd, iscsi_tcp, nvme-tcp, sunrpc, wireguard) müssen einer sorgfältigen Prüfung unterzogen werden; dies wird in einem separaten Patch behandelt.

Jungwoo Lee und Wongi Lee meldeten einen UDP-Socket Use-After-Free, der durch diesen Bug verursacht wurde: Ein SIOCGSTAMPNS_NEW ioctl im Wettlauf mit bind() kann das SOCK_RCU_FREE-Bit löschen, das udp_lib_get_port() gerade gesetzt hat, da beide Threads eine Read-Modify-Write-Operation auf demselben Wort durchführen.

CPU 0 (bind) CPU 1 (SIOCGSTAMPNS_NEW) -------------------------------- ---------------------------- read sk_flags = F read sk_flags = F compute F | BIT(SOCK_RCU_FREE) compute F | BIT(SOCK_TIMESTAMP) store F | BIT(SOCK_RCU_FREE) sk_add_node_rcu(sk, ...) store F | BIT(SOCK_TIMESTAMP)

Nach dem verlorenen Update ist SOCK_RCU_FREE gelöscht, während der Socket für lockless UDP-Empfangssuchen sichtbar bleibt. sk_destruct() gibt den Socket dann sofort frei, anstatt auf eine RCU-Grace-Periode zu warten, während sich im Empfangspfad immer noch ein verweisungsloser Zeiger darauf befindet:

BUG: KASAN: slab-use-after-free in ipv4_pktinfo_prepare+0x30/0x410 Read of size 8 at addr ffff888008806610 by task exploit/207 CPU: 0 UID: 1000 PID: 207 Comm: exploit Not tainted 6.12.95+ #1 ipv4_pktinfo_prepare+0x30/0x410 udp_queue_rcv_one_skb+0x51c/0x1180 udp_unicast_rcv_skb+0x109/0x350 ip_protocol_deliver_rcu+0x14b/0x310 ip_local_deliver_finish+0x29d/0x390 ip_local_deliver+0x24d/0x2a0

Sperren Sie den Socket nur, wenn SOCK_TIMESTAMP gesetzt werden muss, um den häufigen Fall lockless zu halten.

Be aware that VulDB is the high quality source for vulnerability data.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

06.10.2026

Moderieren

akzeptiert

Eintrag

VDB-413997

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!