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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-12944 — Python PoC для CVE-2026-12944 — уязвимости SSRF через urllib и чтения файлов в Langflow 1.10.0. Определяет версии и эксплуатирует endpoint custom_component. | Kitploit
Инструменты/GitHubGitHub/cflowsec/cve-2026-12944
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubcflowsec/cve-2026-12944

CVE-2026-12944

Python PoC для CVE-2026-12944 — уязвимости SSRF через urllib и чтения файлов в Langflow 1.10.0. Определяет версии и эксплуатирует endpoint custom_component.

Репозиторий
13 ч 38 мин назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-12944

Langflow 1.10.0 urllib SSRF

Langflow OSS ≤ 1.10.0 — выполнение кода через пользовательский компонент посредством urllib.request / socket. В денилисте сканера компонентов отсутствовали эти модули стандартной библиотеки. IBM исправила это в 1.10.1.

IBM оценивает это как PR:L. Точка выполнения — POST /api/v1/custom_component, и для этого вызова требуется сессионная cookie / bearer-токен. Как этот PoC его получает:

  1. --test не выполняет аутентификацию. Он делает только GET /api/v1/version (плюс проверку соединения GET /).
  2. --read / --fetch сначала аутентифицируются, затем отправляют компонент через POST.
  3. В стандартном Langflow включён LANGFLOW_AUTO_LOGIN. Скрипт выполняет и, если в JSON есть , отправляет . Без имени пользователя и пароля.
GET /api/v1/auto_login
access_token
Authorization: Bearer …
  • Если авто-вход отключён (401/пустой токен), он выполняет POST /api/v1/login с --uname / --password как application/x-www-form-urlencoded (username, password). Стандартные значения по умолчанию — langflow / langflow.
  • Затем POST /api/v1/custom_component с {"code": …}, который вызывает urllib.request.urlopen(...).
  • --uname / --password существуют только для шага 4. При установке по умолчанию они не используются.

    Только для авторизованного тестирования. Не запускайте это против систем, которыми вы не владеете и на тестирование которых у вас нет разрешения.

    Требуется: Python 3, только стандартная библиотека.

    root@kitploit:~
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --test
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --read /etc/hostname
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --fetch http://127.0.0.1:7860/api/v1/version
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u https://TARGET --read /etc/hostname --insecure
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u TARGET --uname langflow --password langflow --read /etc/hostname
    
    ФлагЧто он делает
    -u / --urlБазовый URL Langflow (обязателен). http:// или https://. Имя хоста без схемы сначала пробуется как HTTPS, затем как HTTP. При перенаправлениях http→https метод POST сохраняется. При плохих TLS-сертификатах выполняется повторная попытка без проверки; --insecure пропускает проверку с самого начала
    --testТолько фингерпринтинг: GET /api/v1/version (публичный). Без входа, без custom_component
    --read PATHЗапуск гаджета: чтение PATH через urllib.request file:// (выполняется на сервере)
    --fetch URLSSRF: urllib.request.urlopen(URL) и вывод тела ответа
    --uname / --passwordТолько если AUTO_LOGIN отключён (стандартные значения по умолчанию: langflow / langflow)
    --insecureПропустить проверку TLS
    --timeoutТаймаут HTTP в секундах (по умолчанию 30)

    Эндпоинт --test: GET /api/v1/version. Ответ 200 с "version" / "main_version" выводит VERSION, затем IN_WINDOW, если эта строка находится в диапазоне 1.0.0–1.10.0, затем PRESENT. Он никогда не обращается к /api/v1/auto_login или /api/v1/custom_component.

    --read / --fetch обращаются к GET /api/v1/auto_login (или POST /api/v1/login), затем к POST /api/v1/custom_component.

    Stdout: VERSION, IN_WINDOW, OUT_OF_WINDOW, PRESENT, VULNERABLE, NEED_AUTH, NOT_FOUND, NOT_VULNERABLE, READ.

    Работающий PoC

    CVE: CVE-2026-12944. Бюллетень IBM; обновитесь до 1.10.1.

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