Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-67644-LangGraph-3.0.1-SQLite-Checkpoint-SQL-Injection — Эксплойт Proof-of-Concept для CVE-2025-67644, уязвимости SQL-инъекции в LangGraph SQLite Checkpoint. Демонстрирует произвольную SQL-инъекцию через несанитизированные metadata filter keys, обеспечивая кражу данных и обход фильтрации. | Kitploit
Инструменты/GitHubGitHub/mbanyamer/cve-2025-67644-langgraph-3.0.1-sqlite-checkpoint-sql-injection
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность Баз Данных
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 для CVE-2025-67644, уязвимости SQL-инъекции в LangGraph SQLite Checkpoint. Демонстрирует произвольную SQL-инъекцию через несанитизированные metadata filter keys, обеспечивая кражу данных и обход фильтрации.

Репозиторий
136 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-67644 PoC – SQL-инъекция в LangGraph SQLite Checkpoint

Author Role Country Platform Vulnerability CVE Status License

CVE-2025-67644 — это уязвимость SQL-инъекции (CWE-89) в пакете langgraph-checkpoint-sqlite (часть экосистемы LangGraph / LangChain).
Она позволяет атакующему внедрять произвольный SQL через неэкранированные ключи фильтра метаданных, передаваемые в методы list() / класса .

alist()
SqliteSaver

Воздействие: полный обход фильтров, утечка всех записей контрольных точек (включая потенциально конфиденциальное состояние бесед, идентификаторы потоков, метаданные), а в некоторых сценариях развертывания — более широкий доступ к базе данных.

Затронутые версии: < 3.0.1
Исправлено в: ≥ 3.0.1
Оценка CVSS: 7.3 (High) — AV:L / AC:L / PR:L / UI:N / S:C / C:H / I:L / A:N

Сводка уязвимости

Внутренняя логика _metadata_predicate() использовала небезопасную интерполяцию f-строк для ключей словаря, контролируемых пользователем, внутри выражения извлечения JSON:

root@kitploit:~
f"json_extract(CAST(metadata AS TEXT), '$.{query_key}')"

Атакующий, который может предоставить произвольные ключи (например, через ввод API), может преждевременно закрыть JSON-путь и внедрить фрагменты SQL, такие как:

root@kitploit:~
{"env') OR '1'='1": "anything"}

→ в результате предложение WHERE всегда принимает значение true → возвращаются все записи.

Схема атаки

root@kitploit:~
flowchart TD
    A["User / API Client"] -->|"Sends malicious filter dict"| B["Application using langgraph-checkpoint-sqlite"]
    B -->|"Passes filter=..."| C["SqliteSaver.list method"]
    C -->|"Unsafe key interpolation"| D["Metadata predicate logic"]
    D -->|"Builds injectable SQL"| E["SQLite Engine"]
    E -->|"Returns ALL checkpoints / sensitive data"| F[Attacker]
    F -->|"Data exfiltration / authorization bypass"| G["Impact achieved"]

(Эта версия избегает скобок в тексте узлов, где это возможно, и использует кавычки вокруг меток со специальными символами/точками, чтобы предотвратить ошибки парсинга.)

Возможности этого PoC

  • Чистая синхронная демонстрация эксплойта
  • Автоматически создает демонстрационные данные, если база данных пуста
  • Опции CLI: --dump-all (показать все записи), --threads-only (извлечь только thread_ids)
  • Приятный ASCII-баннер + четкое форматирование вывода

Требования

root@kitploit:~
pip install langgraph-checkpoint-sqlite"<3.0.1"   # e.g. ==2.0.0

Использование

root@kitploit:~
# Basic check (count only)
python3 exploit.py checkpoints.db

# Dump full checkpoint details
python3 exploit.py checkpoints.db --dump-all

# Extract thread_ids only (useful for enumeration)
python3 exploit.py checkpoints.db --threads-only --dump-all

# Test against in-memory database (quick & volatile)
python3 exploit.py ":memory:" --dump-all

Установка и быстрый старт

  1. Установите уязвимую версию:

    root@kitploit:~
    pip install langgraph-checkpoint-sqlite==2.0.0
    
  2. Сохраните код эксплойта как exploit.py

  3. Запустите на существующей или новой базе данных контрольных точек:

    root@kitploit:~
    python3 exploit.py checkpoints.db --dump-all
    

Исправление / Смягчение

  • Немедленно обновите:

    root@kitploit:~
    pip install --upgrade langgraph-checkpoint-sqlite
    

    (версия ≥ 3.0.1)

  • Не принимайте произвольные ключи фильтров метаданных из ненадежных источников (пользователи, API, JSON-нагрузки и т.д.)

  • В версии ≥ 3.0.1 библиотека применяет строгий regex для ключей: ^[a-zA-Z0-9_.-]+$

Правовое уведомление

Это proof-of-concept, выпущенный только для образовательных целей и исследований в области безопасности.
Не используйте этот код против производственных систем или каких-либо целей без явного письменного разрешения.
Автор не несет ответственности за неправильное использование или ущерб, причиненный этим кодом.

Ссылки

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

Только ответственное раскрытие и исследования.
Mohammed Idrees Banyamer
@banyamer_security

Скачать инструмент