Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-67644-LangGraph-3.0.1-SQLite-Checkpoint-SQL-Injection — Proof-of-concept-Exploit für CVE-2025-67644, eine SQL-Injection-Schwachstelle in LangGraph SQLite Checkpoint. Demonstriert beliebige SQL-Injection durch unsanitisierte Metadaten-Filterschlüssel, was Datenexfiltration und Filterumgehung ermöglicht. | Kitploit
Tools/GitHubGitHub/mbanyamer/cve-2025-67644-langgraph-3.0.1-sqlite-checkpoint-sql-injection
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPapers & ForschungLernen & BildungDatenbanksicherheit
GitHubmbanyamer/cve-2025-67644-langgraph-3.0.1-sqlite-checkpoint-sql-injection

CVE-2025-67644-LangGraph-3.0.1-SQLite-Checkpoint-SQL-Injection

Proof-of-concept-Exploit für CVE-2025-67644, eine SQL-Injection-Schwachstelle in LangGraph SQLite Checkpoint. Demonstriert beliebige SQL-Injection durch unsanitisierte Metadaten-Filterschlüssel, was Datenexfiltration und Filterumgehung ermöglicht.

Repository anzeigen
110vor 7 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-2025-67644 PoC – LangGraph SQLite Checkpoint SQL Injection

Author Role Country Platform Vulnerability CVE Status License

CVE-2025-67644 ist eine SQL-Injection-Sicherheitslücke (CWE-89) im Paket langgraph-checkpoint-sqlite (Teil des LangGraph/LangChain-Ökosystems).
Sie erlaubt einem Angreifer, beliebiges SQL über unsanitisierte Metadaten-Filterschlüssel einzuschleusen, die an die Methoden list() / alist() von SqliteSaver übergeben werden.

Auswirkungen: Vollständige Umgehung der Filter, Offenlegung aller Checkpoint-Datensätze (einschließlich potenziell sensibler Konversationszustände, Thread-IDs, Metadaten) und in einigen Bereitstellungsszenarien – breiterer Datenbankzugriff.

Betroffene Versionen: < 3.0.1
Behoben in: ≥ 3.0.1
CVSS-Score: 7.3 (Hoch) — AV:L / AC:L / PR:L / UI:N / S:C / C:H / I:L / A:N

Zusammenfassung der Sicherheitslücke

Die interne _metadata_predicate()-Logik verwendete unsichere f-String-Interpolation von benutzergesteuerten Dictionary-Schlüsseln in einem JSON-Extraktionsausdruck:

f"json_extract(CAST(metadata AS TEXT), '$.{query_key}')"

Ein Angreifer, der beliebige Schlüssel bereitstellen kann (z. B. über API-Eingabe), kann den JSON-Pfad frühzeitig schließen und SQL-Fragmente injizieren, wie z. B.:

{"env') OR '1'='1": "anything"}

→ was zu einer WHERE-Klausel führt, die immer wahr ist → gibt alle Datensätze zurück.

Angriffsablauf-Diagramm

flowchart TD
    A["Benutzer / API-Client"] -->|"Sendet bösartiges Filter-Dict"| B["Anwendung, die langgraph-checkpoint-sqlite verwendet"]
    B -->|"Übergibt filter=..."| C["SqliteSaver.list-Methode"]
    C -->|"Unsichere Schlüsselinterpolation"| D["Metadaten-Prädikatslogik"]
    D -->|"Erstellt injizierbares SQL"| E["SQLite-Engine"]
    E -->|"Gibt ALLE Checkpoints / sensible Daten zurück"| F["Angreifer"]
    F -->|"Datenextraktion / Autorisierungsumgehung"| G["Auswirkungen erzielt"]

(Diese Version vermeidet Klammern in Knotentexten, wo möglich, und verwendet Anführungszeichen um Labels mit Sonderzeichen/Punkten, um Parsing-Fehler zu vermeiden.)

Funktionen dieses PoC

  • Saubere synchrone Exploit-Demonstration
  • Erstellt automatisch Demo-Daten, wenn die Datenbank leer ist
  • CLI-Optionen: --dump-all (vollständige Datensätze anzeigen), --threads-only (nur thread_ids extrahieren)
  • Schöner ASCII-Banner + klare Ausgabeformatierung

Voraussetzungen

pip install langgraph-checkpoint-sqlite"<3.0.1"   # z. B. ==2.0.0

Verwendung

# Grundlegende Prüfung (nur Anzahl)
python3 exploit.py checkpoints.db

# Vollständige Checkpoint-Details ausgeben
python3 exploit.py checkpoints.db --dump-all

# Nur thread_ids extrahieren (nützlich für Enumeration)
python3 exploit.py checkpoints.db --threads-only --dump-all

# Test gegen In-Memory-Datenbank (schnell & flüchtig)
python3 exploit.py ":memory:" --dump-all

Installation & Schnellstart

  1. Installieren Sie die anfällige Version:

    pip install langgraph-checkpoint-sqlite==2.0.0
    
  2. Speichern Sie den Exploit-Code als exploit.py

  3. Führen Sie es gegen eine vorhandene oder neue Checkpoint-Datenbank aus:

    python3 exploit.py checkpoints.db --dump-all
    

Abhilfe / Schadensbegrenzung

  • Sofort aktualisieren:

    pip install --upgrade langgraph-checkpoint-sqlite
    

    (Version ≥ 3.0.1)

  • Akzeptieren Sie keine willkürlichen Metadaten-Filterschlüssel aus nicht vertrauenswürdigen Quellen (Benutzer, APIs, JSON-Payloads usw.)

  • In ≥ 3.0.1 erzwingt die Bibliothek einen strengen Regex für Schlüssel: ^[a-zA-Z0-9_.-]+$

Rechtlicher Hinweis

Dies ist ein Proof-of-Concept, das ausschließlich zu Bildungs- und Sicherheitsforschungszwecken veröffentlicht wurde.
Verwenden Sie diesen Code nicht gegen Produktionssysteme oder Ziele ohne ausdrückliche schriftliche Genehmigung.
Der Autor ist nicht verantwortlich für Missbrauch oder Schäden, die durch diesen Code verursacht werden.

Referenzen

  • GitHub Security Advisory GHSA-9rwj-6rc7-p77c
  • Fix Commit
  • NVD Entry – CVE-2025-67644

Nur für verantwortungsvolle Offenlegung und Forschung.
Mohammed Idrees Banyamer
@banyamer_security

Tool herunterladen