Sicherheitsanfälligkeit StackRot im Linux-Kernel, die Privilegien erhöhen kann

Die im Linux-Kernel 6.1 durchgeführte Umstellung der VMA (Virtuelle Speicherbereich) von der Datenstruktur „red-black tree“ auf „maple tree“ führte zur Entstehung einer Sicherheitsanfälligkeit (CVE-2023-3269), die es einem unprivilegierten Benutzer erlaubt, eigenen Code mit Kernel-Rechten auszuführen. Die Sicherheitsanfälligkeit, die den Codenamen StackRot trägt, tritt seit der Veröffentlichung des Kernels 6.1 auf und wurde in den Updates 6.4.1, 6.3.11 und 6.1.37 behoben.

Die Struktur „maple tree“ ist eine Variante des B-Baums, die die Indizierung nach Wertbereichen unterstützt und für die effiziente Nutzung des Caches moderner Prozessoren ausgelegt ist. Im Vergleich zum „red-black tree“ ermöglicht die Verwendung des „maple tree“ eine höhere Performance. Die Sicherheitsanfälligkeit wird durch einen Fehler im Handler für das Stapel-Expansion verursacht – beim „maple tree“, das zur Verwaltung von Bereichen des virtuellen Speichers im Kernel verwendet wird, konnte der Knoten im Baum ohne Setzen einer Schreibsperre ersetzt werden, was zu einem Zugriff auf einen Speicherbereich nach seiner Freigabe (use-after-free) führte.

Die Ausnutzung der Sicherheitsanfälligkeit wurde dadurch erschwert, dass die Knoten in der Struktur „maple tree“ im verzögerten Modus unter Verwendung von Callback-Aufrufen mit RCU-Sperren (Read-copy-update) freigegeben werden. Dennoch gelang es den Forschern, die entstandenen Schwierigkeiten zu überwinden und einen funktionierenden Exploit vorzubereiten, den sie Ende Juli veröffentlichen wollen, um den Benutzern Zeit für das Update ihrer Systeme zu geben. Die Ausnutzung ist in fast allen Kernel-Konfigurationen möglich und erfordert nur minimale Privilegien.

Quelle: opennet.ru

60GB SSD 8Gb DDR4