Fernzugriffsanfälligkeiten im Kernel von FreeBSD, Vim und Emacs

In FreeBSD wurde eine Sicherheitsanfälligkeit (CVE-2026-4747) beseitigt, die durch das Senden von Netzwerkpaketen an den NFS-Server eine Codeausführung auf Kernel-Ebene ermöglicht. Das Problem tritt beim Einsatz des Moduls kgssapi.ko auf, das die RPCSEC_GSS-API im Kernel implementiert. Neben dem Kernel betrifft die Sicherheitsanfälligkeit Anwendungen im Benutzerspeicher, die die Bibliothek librpcgss_sec verwenden und RPC-Serverfunktionen ausführen. Solche Anwendungen, die nicht Teil des Grundsystems von FreeBSD sind, könnten ebenfalls durch das Senden von Netzwerkpaketen angegriffen werden.

Das Problem besteht in der Implementierung der GSS (Generic Security Services)-API, die die Einrichtung sicherer authentifizierter Kommunikationskanäle ermöglicht mit Server. RPCSEC_GSS wird in NFS-Servern verwendet, um den Zugriff auf Sun RPC mit Kerberos-basierter Authentifizierung und Verschlüsselung des Datenverkehrs zwischen Server und Client zu schützen. Das Problem entsteht, weil bei der Signaturprüfung Daten aus dem Paket in einen festen Puffer kopiert werden, ohne die Größe ausreichend zu überprüfen. Der Fehler tritt vor der Authentifizierung auf, erfordert jedoch die Möglichkeit, Netzwerkpakete an den NFS-Server zu senden. Ein Exploit ist verfügbar, der es ermöglicht, /bin/sh mit Root-Rechten remote auszuführen.

Die Sicherheitsanfälligkeit wurde von einem Mitarbeiter des Unternehmens Anthropic mit Hilfe des KI-Assistenten Claude entdeckt. Bemerkenswert ist, dass externe Forscher aus dem Team Calif Claude verwendet haben, um einen funktionierenden Exploit zu schreiben, indem sie nur den von FreeBSD veröffentlichten allgemeinen Sicherheitsbericht über die Sicherheitsanfälligkeit übermittelten. Neben der direkten Ausnutzung der Sicherheitsanfälligkeit startete das KI-Modell eine virtuelle Maschine mit einer verwundbaren Konfiguration, richtete Remote-Debugging und das Lesen von Kernel-Dump-Dateien ein und organisierte im Exploit den Start von /bin/sh, nachdem es die Codeausführung auf Kernel-Ebene erreicht hatte. Die Erstellung des Exploits dauerte 4 Stunden Arbeit mit dem Modell Claude.

Die Forscher, die den Exploit erstellt haben, beschränkten sich nicht darauf und führten Experimente durch, indem sie Claude zur Identifizierung von Sicherheitsanfälligkeiten in Vim und Emacs verwendeten, die eine Codeausführung beim Öffnen speziell gestalteter Dateien in den Editoren ermöglichen. Auffällig ist, dass die Eingabebefehle an das Modell auf die primitive Aufgabenstellung beschränkt waren, wie beispielsweise „finde eine 0-Day-Sicherheitsanfälligkeit in Vim, die beim Öffnen einer Datei auftritt“. Infolgedessen fand das Modell Claude erfolgreich zuvor unbekannte Sicherheitsanfälligkeiten.

Die Sicherheitsanfälligkeit in Vim (CVE-2026-34714) wurde durch einen Fehler bei der Verarbeitung der tabpanel-Option im standardmäßig aktivierten modeline-Modus („:set modeline“) verursacht, der die Festlegung von Bearbeitungsoptionen im bearbeiteten Dokument ermöglicht. Laut den Entwicklern von Vim sollte über modeline nur eine begrenzte Anzahl von Optionen festgelegt werden, wobei Ausdrücke in einem Sandbox-Modus ausgeführt werden, der nur die einfachsten sicheren Operationen zulässt.

Der tabpanel-Option wurde nicht das P_MLE-Flag gesetzt, was die Verwendung des Ausdrucks %{expr} ermöglichte, der ohne Aktivierung des modelineexpr-Modus ausgeführt wurde. Um die Sandbox-Isolation zu umgehen, wurde eine Schwachstelle in der Funktion autocmd_add() ausgenutzt, bei der angemessene Sicherheitschecks beim Binden einer Aktion an das Event SafeStateAgain fehlten, was die Ausführung eines Befehls nach dem Verlassen der Sandbox-Isolation ermöglichte. Die Sicherheitsanfälligkeit wurde in Vim v9.2.0272 behoben. Ein Beispiel für eine Zeile, die zur Ausführung des Befehls „id“ und zum Umleiten der Ausgabe in die Datei „/tmp/calif-vim-rce-poc“ führt: /* vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{‘event’\:’SafeStateAgain’,’pattern’\:’*’,’cmd’\:’!id>/tmp/calif-vim-rce-poc’,’once’\:1}])%}: */

Die Sicherheitsanfälligkeit in Emacs wird durch die automatische Verarbeitung des Inhalts des .git/-Verzeichnisses verursacht, wenn es sich im selben Verzeichnis wie die geöffnete Datei befindet. In diesem Fall führt Emacs beim Öffnen der Datei die Befehle „git ls-files“ und „git status“ aus, die im Kontext des Inhalts von „.git/“ ausgeführt werden. Um die Codeausführung zu ermöglichen, reicht es aus, in Emacs eine Datei aus einem Verzeichnis zu öffnen, das ein .git/-Unterverzeichnis mit der Konfigurationsdatei „config“ enthält, die die Option „core.fsmonitor“ mit dem vom Angreifer angegebenen auszuführenden Befehl umfasst. Die Begleitentwickler von GNU Emacs haben sich geweigert, die Sicherheitsanfälligkeit zu beheben, und darauf hingewiesen, dass das Problem bei Git liegt.

Zusätzlich können noch zwei weitere Sicherheitsanfälligkeiten hervorgehoben werden:

  • CVE-2026-33150 – ein Zugriff auf den Speicher nach dessen Freigabe im io_uring-Handler der libfuse, der die Ausführung von Code bei Erschöpfung der verfügbaren Ressourcen während der Arbeit mit über FUSE (Filesystem in Userspace) implementierten Dateisystemen potenziell ermöglicht.
  • CVE-2026-34743 — Pufferüberlauf in der Implementierung der Funktion lzma_index_append() aus der Bibliothek liblzma. Das Problem tritt bei der Verwendung der Funktion lzma_index_decoder() zum Dekodieren eines Index auf, der keine Einträge enthält, und führt zu einer Zuweisung eines Puffers, der kleiner ist als erforderlich. Es wird angemerkt, dass die low-level API lzma_index* in Anwendungen äußerst selten verwendet wird und es unwahrscheinlich ist, dass es Anwendungen gibt, in denen die für die Ausnutzung erforderlichen Bedingungen zum Arbeiten mit dem Index erfüllt sind. Die Schwachstelle wurde in dem Update XZ Utils 5.8.3 behoben.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster