„`html
Zusammenfassung
CVE-2026-10667 ist eine kritische Use-After-Free-Schwachstelle im Zephyr Real-Time Operating System. Sie ermöglicht es unprivilegierten Benutzern, die Kernel-Objektverfolgungsstrukturen zu manipulieren und dadurch Speicherbeschädigungen oder Kernel-Abstürze zu verursachen. Die Anfälligkeit betrifft SMP-Systeme (Multi-Core) mit aktivierter User-Space-Isolation.
Betroffene Systeme
Die Schwachstelle betrifft Zephyr-Versionen ab v1.14.0 bis einschlieĂźlich v4.4.0 mit folgenden Konfigurationen:
- CONFIG_SMP (Symmetric Multi-Processing)
- CONFIG_USERSPACE (User-Space-Sicherheit)
- CONFIG_DYNAMIC_OBJECTS (Dynamische Kernel-Objekte)
Technische Details
Die Anfälligkeit liegt in der desynchronisierten Verwaltung der dynamischen Kernel-Objektliste (obj_list) in kernel/userspace/userspace.c. Während die Iteration über diese doppelt verlinkte Liste unter lists_lock erfolgt, nutzen Löschoperationen separate Spinlocks:
objfree_lockin k_object_free()obj_lockin unref_check()
Auf Multi-Core-Systemen kann ein CPU-Kern einen gecachten Listenknoten freigeben, während ein anderer Kern ihn noch dereferenziert. Dies führt zu einer Use-After-Free-Kondition.
Unprivilegierte User-Mode-Threads können diesen Race Condition über Syscalls auslösen: k_object_alloc/k_object_alloc_size und k_object_release triggern Löschungen, während k_thread_abort und Thread-Erstellung die Iteration antreiben.
Empfohlene Massnahmen
- Aktualisierung auf Zephyr v4.5.0 oder höher durchführen
- Patch anwenden, der alle obj_list-Modifikationen unter
lists_lockserialisiert - Entfernung des fehlerhaften
objfree_lock-Mechanismus - Systeme mit CONFIG_SMP und CONFIG_USERSPACE priorisiert aktualisieren
Bewertung
CVSS 7.8 (High): Lokale Ausführung ermöglicht Kernel-Speicherbeschädigung und potenzielle Privilege-Escalation oder Denial-of-Service. Die Ausnutzbarkeit erfordert lokalen Zugriff, nicht jedoch erhöhte Privilegien.
„`