CVE-2026-64435 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
audit: Behebung von Data Races bei Lesern von skb_queue_len() auf audit_queue
Mehrere Leser greifen über skb_queue_len() auf audit_queue.qlen zu, ohne die Warteschlangen-Sperre (queue lock) zu halten oder READ_ONCE() zu verwenden, während kauditd in dieses Feld über den Pfad skb_dequeue() → __skb_unlink() mit WRITE_ONCE() schreibt, das durch einen Spinlock geschützt ist. Dies stellt Data Races dar.
Alle betroffenen Aufrufstellen von skb_queue_len(&audit_queue): - Bedingung wait_event_freezable() in kauditd_thread() - AUDIT_GET-Handler in audit_receive_msg() (Zuweisung an s.backlog) - Backlog-Prüfung in audit_receive() - Backlog-Prüfung und pr_warn() in audit_log_start()
KCSAN meldet das folgende widersprüchliche Zugriffsmuster (ein Beispiel): ================================================================== BUG: KCSAN: data-race in audit_log_start / skb_dequeue
write (markiert) auf 0xffffffff8512ee20 mit 4 Bytes durch Task 661 auf CPU 57: skb_dequeue+0x70/0xf0 kauditd_send_queue+0x71/0x220 kauditd_thread+0x1cb/0x430 kthread+0x1c2/0x210 ret_from_fork+0x162/0x1a0 ret_from_fork_asm+0x1a/0x30
read auf 0xffffffff8512ee20 mit 4 Bytes durch Task 36586 auf CPU 1: audit_log_start+0x2a0/0x6b0 audit_core_dumps+0x64/0xa0 do_coredump+0x14b/0x1260 get_signal+0xeb2/0xf70 arch_do_signal_or_restart+0x41/0x170 exit_to_user_mode_loop+0xa2/0x1c0 do_syscall_64+0x1a3/0x1c0 entry_SYSCALL_64_after_hwframe+0x76/0xe0
Wert geändert: 0x00000001 -> 0x00000000 ==================================================================
Behebung der Race-Bedingung durch Wechsel zu dem sperrlosen Helper skb_queue_len_lockless(), das intern READ_ONCE() verwendet und korrekt mit den WRITE_ONCE()-Schreibzugriffen auf der Schreibernseite gepaart ist, die bereits vorhanden sind.
[PM: Anpassung der Zeilenlänge]
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.