inferwire
/
Cybersicherheit·4 Min. Lesezeit

CISA fügt Linux-Kernel AF_ALG Race-Condition zum KEV-Katalog hinzu

Cybersicherheitsbehörden haben CVE-2025-39964 zum KEV-Katalog hinzugefügt und warnen vor der aktiven Ausnutzung einer Race-Condition in der AF_ALG-Socket-Schnittstelle des Linux-Kernels.

TL;DR

  • CISA hat CVE-2025-39964 nach der aktiven Ausnutzung einer Race-Condition in der AF_ALG-Socket-Schnittstelle des Linux-Kernels in ihren Katalog aufgenommen [^1][^2].
  • Die Schwachstelle ermöglicht es, dass gleichzeitige Schreibvorgänge die Kernel-Socket-Zustände korrumpieren, was zu einer lokalen Rechteausweitung oder Systemabstürzen führen kann [^1].

Hintergrund

Der Linux-Kernel bietet eine dedizierte Socket-Schnittstelle namens AF_ALG, um User-Space-Anwendungen den Zugriff auf das interne Kryptografie-Framework des Kernels zu ermöglichen. Anstatt kryptografische Algorithmen wie AES oder SHA im Anwendungsspeicher zu implementieren, senden Programme Rohdaten an einen AF_ALG-Socket. Der Kernel verarbeitet die mathematischen Operationen mithilfe optimierter Hardwaretreiber und gibt das Ergebnis zurück. Da diese Grenze vom User-Space zum Kernel-Space verläuft, kann jeder Verarbeitungsfehler die Sicherheit des gesamten Betriebssystems gefährden.

Was passiert ist

US-Sicherheitsbehörden haben CVE-2025-39964 in den Katalog der bekanntlich ausgenutzten Schwachstellen (KEV) aufgenommen und damit bestätigt, dass Angreifer aktiv eine Race-Condition im Linux-Kernel ausnutzen [^1][^2]. Die Schwachstelle befindet sich in dem Subsystem, das gleichzeitige Schreibvorgänge auf aktive AF_ALG-Sockets verwaltet [^1]. Wenn mehrere Ausführungsthreads gleichzeitig versuchen, Daten in denselben Socket zu schreiben, scheitert der Kernel daran, die Anfragen ordnungsgemäß zu serialisieren, was dazu führt, dass sich die Daten-Payloads unvorhersehbar überschneiden [^1].

Diese Überschneidung korrumpiert die interne State Machine des Sockets [^1]. Sockets verlassen sich auf strikte Zustandsübergänge, um Speicherpuffer, kryptografische Schlüssel und Ausführungskontexte zu verfolgen. Wenn gleichzeitige Schreibvorgänge die Synchronisationssperren des Kernels umgehen, zeigen die internen Pointer des Sockets auf ungültige oder überlappende Speicherbereiche [^1]. Diese Zustandsverwirrung verletzt grundlegende Annahmen zur Speichersicherheit und kann zu Use-after-free-Bedingungen oder Buffer Overflows im Kernel-Heap führen [^1].

Da die Schwachstelle im Kernel-Space auftritt, ist die resultierende Speicherbeschädigung äußerst gefährlich [^1]. Ein Angreifer mit lokalem, nicht privilegiertem Zugriff auf ein System kann mehrere Threads starten, um diese Race-Condition wiederholt auszulösen. Durch präzises Timing der gleichzeitigen Schreibvorgänge kann der Angreifer den Kernel dazu zwingen, benutzerkontrollierte Daten in privilegierte Systemspeicherbereiche zu schreiben und so die integrierten Zugriffskontrollen des Betriebssystems zu umgehen [^1][^2].

Die Komplexität der AF_ALG-Schnittstelle verschlimmert das Problem [^1]. Da die Schnittstelle eine Vielzahl kryptografischer Algorithmen unterstützen muss, ist ihre Logik zur Zustandsverfolgung hochgradig komplex. Der Kernel muss Speicher dynamisch basierend auf dem vom Benutzer angeforderten Algorithmus zuweisen [^1]. Wenn die Race-Condition ausgelöst wird, geraten diese dynamischen Zuweisungen aus dem Gleichgewicht, was es einem Angreifer ermöglicht, benachbarte Kernel-Strukturen zu korrumpieren [^1].

Warum es wichtig ist

Race-Conditions in den Kernen von Betriebssystemen sind bekanntermaßen schwer zu erkennen, aber für Angreifer äußerst wertvoll. Herkömmliche Sicherheits-Scanner konzentrieren sich auf statische Code-Analyse oder signaturbasierte Erkennung, die beide Schwierigkeiten haben, flüchtige Timing-Fehler zu identifizieren. Eine AF_ALG-Race-Condition ermöglicht es einem lokalen Angreifer, seine Rechte von einem standardmäßigen, eingeschränkten Benutzerkonto auf Root-Zugriff auszuweiten. Sobald der Root-Zugriff erreicht ist, erlangt der Angreifer die vollständige Kontrolle über die physische oder virtuelle Maschine. Das erlaubt es ihm, persistente Malware zu installieren, die Protokollierung zu deaktivieren oder sich auf andere Systeme im Netzwerk auszubreiten.

Diese Schwachstelle verdeutlicht auch eine grundlegende Herausforderung im modernen Betriebssystemdesign: die Abwägung zwischen Leistung und Sicherheit. Das Auslagern kryptografischer Aufgaben in den Kernel reduziert den Overhead durch Kontextwechsel, führt jedoch eine massive Angriffsfläche ein. Wenn eine Schwachstelle in einer Kryptografie-Bibliothek im User-Space entdeckt wird, sind nur die Anwendungen betroffen, die diese Bibliothek nutzen. Eine Schwachstelle in einer Socket-Schnittstelle auf Kernel-Ebene wie AF_ALG bedroht jedoch die Integrität des gesamten Systems, unabhängig davon, welche Anwendungen ausgeführt werden.

Die aktive Ausnutzung von CVE-2025-39964 unterstreicht das anhaltende Risiko, das von älteren Kernel-Schnittstellen ausgeht. Obwohl AF_ALG Leistungsvorteile für bestimmte kryptografische Operationen bietet, setzt es auch eine komplexe API für nicht vertrauenswürdige User-Space-Anwendungen frei. Für Unternehmensumgebungen, insbesondere solche, die mandantenfähige Cloud-Infrastrukturen oder gemeinsam genutzte Container hosten, stellt diese Schwachstelle eine ernsthafte Bedrohung dar. Ein einziger kompromittierter Container könnte diese Schwachstelle ausnutzen, um aus seiner Sandbox auszubrechen und den Host-Rechner zu kompromittieren. Systemadministratoren müssen Kernel-Updates über alle bereitgestellten Linux-Distributionen hinweg priorisieren, um diese aktive Bedrohung abzuwehren.

Ein Beispiel aus der Praxis

Stell dir einen gemeinsam genutzten Unternehmensserver vor, auf dem eine Mitarbeiterin namens Sarah ein einfaches Benutzerkonto hat. Sie möchte auf vertrauliche Gehaltsdatenbanken zugreifen, aber ihrem Konto fehlen die erforderlichen Berechtigungen.

Sarah führt ein kleines Programm aus, das einen AF_ALG-Socket öffnet, um Text zu verschlüsseln. Ihr Programm startet zwei Ausführungsthreads, die in derselben Millisekunde in denselben Socket schreiben.

Normalerweise zwingt der Kernel einen Thread zum Warten. Aufgrund der Race-Condition schreiben beide Threads gleichzeitig. Der Kernel vermischt ihre Daten, was den Speicher-Tracker des Sockets verwirrt.

Der Tracker des Sockets zeigt versehentlich auf einen privilegierten Kernel-Speicherblock anstelle von Sarahs temporärem Puffer. Ihr Programm schreibt ein neues Berechtigungs-Token direkt in diesen Kernel-Speicher. Sofort erhält Sarahs einfaches Benutzerkonto Administratorrechte, was ihr den Zugriff auf die gesperrte Gehaltsdatenbank ermöglicht.

Passende Produkte

Wir empfehlen dieses Handbuch, weil es eine umfassende Anleitung zu Linux-Systemaufrufen, Socket-Programmierung und Schnittstellen zur Speicherverwaltung bietet.

WerbungAmazon

The Linux Programming Interface: A Linux and UNIX System Programming Handbook

★★★★★ 4.9

Quellen

  1. [1]NVD — CVE-2025-39964 Detail
  2. [2]CISA — Known Exploited Vulnerabilities Catalog