CVE-2025-3248: Langflow: Unauth RCE via code injection endpoint
GHSA-rvqx-wpfh-mfx7CRITICALACTIVELY EXPLOITEDPoC AVAILABLENUCLEI TEMPLATECISA: ACTPatch Langflow to 1.3.0 immediately — this is an unauthenticated RCE with CVSS 9.8 confirmed actively exploited in the wild (CISA KEV). Any internet-exposed Langflow instance should be treated as compromised until verified. If patching is not immediate, block /api/v1/validate/code at the WAF/firewall and restrict access to trusted IPs only.
What is the risk?
Maximum risk. CVSS 9.8 with network-accessible, zero-authentication, zero-user-interaction attack vector. EPSS of 0.925 places this in the top 1% of likely-exploited vulnerabilities. CISA KEV listing confirms active exploitation in the wild. Langflow deployments are frequently internet-exposed by design, making this trivially exploitable at scale with no barrier to entry for attackers.
What systems are affected?
How severe is it?
What is the attack surface?
What should I do?
6 stepsPatch immediately: upgrade langflow to ≥1.3.0 and langflow-base to ≥0.3.0.
If patching is delayed: block or restrict /api/v1/validate/code at the WAF/reverse proxy; require network-level authentication (VPN, IP allowlisting).
Rotate all API keys and credentials stored in or accessible from the Langflow environment.
Audit access logs for unexpected POST requests to /api/v1/validate/code — any such traffic is an IOC.
Treat unpatched internet-exposed instances as compromised and initiate IR procedures.
Scan internal deployments via Shodan/Censys query for exposed instances before attackers do.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2025-3248?
Patch Langflow to 1.3.0 immediately — this is an unauthenticated RCE with CVSS 9.8 confirmed actively exploited in the wild (CISA KEV). Any internet-exposed Langflow instance should be treated as compromised until verified. If patching is not immediate, block /api/v1/validate/code at the WAF/firewall and restrict access to trusted IPs only.
Is CVE-2025-3248 actively exploited?
Yes, CVE-2025-3248 is confirmed actively exploited and listed in CISA Known Exploited Vulnerabilities catalog since Mon May 05 2025 00:00:00 GMT+0000 (Coordinated Universal Time).
How to fix CVE-2025-3248?
1. Patch immediately: upgrade langflow to ≥1.3.0 and langflow-base to ≥0.3.0. 2. If patching is delayed: block or restrict /api/v1/validate/code at the WAF/reverse proxy; require network-level authentication (VPN, IP allowlisting). 3. Rotate all API keys and credentials stored in or accessible from the Langflow environment. 4. Audit access logs for unexpected POST requests to /api/v1/validate/code — any such traffic is an IOC. 5. Treat unpatched internet-exposed instances as compromised and initiate IR procedures. 6. Scan internal deployments via Shodan/Censys query for exposed instances before attackers do.
What systems are affected by CVE-2025-3248?
This vulnerability affects the following AI/ML architecture patterns: LLM workflow builders, agent frameworks, RAG pipelines, AI development platforms, model serving.
What is the CVSS score for CVE-2025-3248?
CVE-2025-3248 has a CVSS v3.1 base score of 9.8 (CRITICAL). The EPSS exploitation probability is 99.99%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0010.001AI SoftwareAML.T0049Exploit Public-Facing ApplicationAML.T0050Command and Scripting InterpreterAML.T0055Unsecured CredentialsAML.T0072Reverse ShellCompliance Controls Affected
What are the technical details?
Original Advisory
Langflow versions prior to 1.3.0 are susceptible to code injection in the /api/v1/validate/code endpoint. A remote and unauthenticated attacker can send crafted HTTP requests to execute arbitrary code.
Exploitation Scenario
An attacker identifies internet-exposed Langflow instances via Shodan or Censys (no auth required to query). Without any credentials, they send a crafted HTTP POST to /api/v1/validate/code containing a Python payload wrapped in exec(). Langflow's code validation endpoint executes the payload server-side, granting an immediate reverse shell. From there, the attacker extracts all LLM API keys from environment variables and config files, accesses connected vector stores and PostgreSQL databases, and pivots to cloud provider APIs to fully compromise the broader AI infrastructure. Total time from identification to shell: under five minutes.
Weaknesses (CWE)
CWE-306Missing Authentication for Critical FunctionalityPrimaryCWE-94Improper Control of Generation of CodePrimaryCWE-94Improper Control of Generation of Code ('Code Injection')PrimaryCWE-306Missing Authentication for Critical FunctionalityCWE-306Missing Authentication for Critical FunctionalityCWE-306 — Missing Authentication for Critical Functionality: The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.
- [Architecture and Design] Divide the software into anonymous, normal, privileged, and administrative areas. Identify which of these areas require a proven user identity, and use a centralized authentication capability. Identify all potential communication channels, or other means of interaction with the software, to ensure that all channels are appropriately protected, including those channels that are assumed to be accessible only by authorized parties. Developers sometimes perform authentication at the primary channel, but open up a secondary channel that is assumed to be private. For example, a login mechanism may be listening on one network port, but after successful authentication, it may open up a second port where it waits for the connection, but avoids authentication because it assumes that only the authenticated party will connect to the port. In general, if the software or protocol allows a single session or user state to persist across multiple connections or channels, authentication and appropriate
- [Architecture and Design] For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
- cisa.gov/known-exploited-vulnerabilities-catalogUS Gov
- github.com/langflow-ai/langflow/pull/6911Patch
- github.com/langflow-ai/langflow/releases/tag/1.3.0Release
- horizon3.ai/attack-research/disclosures/unsafe-at-any-speed-abusing-python-exec-for-unauth-rce-in-langflow-ai/Exploit3rd Party
- vulncheck.com/advisories/langflow-unauthenticated-rce3rd Party
- github.com/advisories/GHSA-rvqx-wpfh-mfx7
- github.com/langflow-ai/langflow/commit/faac4db133de32fcb6d483fa9ff52f40ce42bdc0
- github.com/langflow-ai/langflow/security/advisories/GHSA-rvqx-wpfh-mfx7
- nvd.nist.gov/vuln/detail/CVE-2025-3248
- horizon3.ai/attack-research/disclosures/unsafe-at-any-speed-abusing-python-exec-for-unauth-rce-in-langflow-ai
- github.com/0-d3y/langflow-rce-exploitExploit
- github.com/0ctf/vulhubExploit
- github.com/0xgh057r3c0n/CVE-2025-3248Exploit
- github.com/ARPSyndicate/cve-scoresExploit
- github.com/Aimtech7/web-test2Exploit
- github.com/AmokNepal/langflowExploit
- github.com/AngelPalominoF/Buho-IAExploit
- github.com/AngelPalominoF/Martina-IAExploit
- github.com/B1ack4sh/Blackash-CVE-2025-3248Exploit
- github.com/CloudGeometry/LangBuilderExploit
- github.com/EQSTLab/CVE-2025-3248Exploit
- github.com/Gideongideon5/langflow-agentExploit
- github.com/GovindMalviya/awesome-langflowExploit
- github.com/Health-Copilot-AI/langflowExploit
- github.com/ILYESS24/langflow2.0Exploit
- github.com/IhorKondratenko/langflowExploit
- github.com/J1ezds/Vulnerability-Wiki-pageExploit
- github.com/J4c0b-1337x007/ethical-exploit-playgroundExploit
- github.com/JeenAI-Team/Langflow-JeenExploit
- github.com/JeenAI-Team/Langflow-NgnixExploit
- github.com/JeenAI-Team/langflows_v2Exploit
- github.com/Kiraly07/Demo_CVE-2025-3248Exploit
- github.com/Lern0n/Lernon-POCExploit
- github.com/MatDupas/Custom-Nmap-ScriptsExploit
- github.com/Pawan22104168/Langflow_UIExploit
- github.com/Praison001/CVE-2025-3248Exploit
- github.com/PuddinCat/CVE-2025-3248-POCExploit
- github.com/PuddinCat/GithubRepoSpiderExploit
- github.com/Rahu7p/MyLangflowExploit
- github.com/Tetsuro-Copa/langflowExploit
- github.com/Threekiii/Awesome-POCExploit
- github.com/Threekiii/CVEExploit
- github.com/Vip3rLi0n/CVE-2025-3248Exploit
- github.com/a1batr0ssG/VulhubExpandExploit
- github.com/adolfcg/mixtli25Exploit
- github.com/aloewright/langflowExploit
- github.com/arsharma2005/adding-buttonExploit
- github.com/aryan-spanda/langflow-mainExploit
- github.com/autocode07/langflow-ai__langflow.087c1a25Exploit
- github.com/autocode07/langflow-ai__langflow.b093c1faExploit
- github.com/charlesin4g/langflow-mainExploit
- github.com/codevakure/lu-editExploit
- github.com/damonfmcmillan/langflowExploit
- github.com/dennisec/Mass-CVE-2025-3248Exploit
- github.com/eeeeeeeeee-code/POCExploit
- github.com/galgantar/langflow-cveExploit
- github.com/ill-deed/Langflow-CVE-2025-3248-Multi-targetExploit
- github.com/imbas007/CVE-2025-3248Exploit
- github.com/issamjr/CVE-2025-3248-ScannerExploit
- github.com/khulnasoft-lab/AiEXECExploit
- github.com/khulnasoft/aiexecExploit
- github.com/langflow-ai/langflowExploit
- github.com/min8282/CVE-2025-3248Exploit
- github.com/neurdev/langflow-exploitExploit
- github.com/nomi-sec/PoC-in-GitHubExploit
- github.com/nvn1729/advisoriesExploit
- github.com/oLy0/VulnerabilityExploit
- github.com/packetinside/CISA_BOTExploit
- github.com/peiqiF4ck/WebFrameworkTools-5.1-mainExploit
- github.com/peiqiF4ck/WebFrameworkTools-5.5Exploit
- github.com/peiqiF4ck/WebFrameworkTools-5.5-enhanceExploit
- github.com/plzheheplztrying/cve_monitorExploit
- github.com/preemware/langflow-exploitExploit
- github.com/r0otk3r/CVE-2025-3248Exploit
- github.com/seokjea/whsExploit
- github.com/tanjiti/sec_profileExploit
- github.com/tiemio/RCE-CVE-2025-3248Exploit
- github.com/tonyistark/AIBuilderExploit
- github.com/ums91/CISA_BOTExploit
- github.com/verylazytech/CVE-2025-3248Exploit
- github.com/vigilante-1337/CVE-2025-3248Exploit
- github.com/vulhub/vulhubExploit
- github.com/waldirjunior/teste-context-langflowExploit
- github.com/wand3rlust/CVE-2025-3248Exploit
- github.com/xuemian168/CVE-2025-3248Exploit
- github.com/ynsmroztas/CVE-2025-3248-Langflow-RCEExploit
- github.com/zapstiko/CVE-2025-3248Exploit
- github.com/zr1p3r/CVE-2025-3248Exploit
Timeline
Scanner Template Available
A Nuclei vulnerability scanner template exists for this CVE. You can scan your infrastructure for this vulnerability immediately.
View template on GitHubnuclei -t http/cves/2025/CVE-2025-3248.yaml -u https://target.example.comRelated Vulnerabilities
CVE-2026-1056110.0Langflow: auth bypass + unauthenticated RCE (CVSS 10)
Same package: langflowCVE-2026-1013410.0Langflow: unauthenticated RCE via tool_code injection
Same package: langflowCVE-2026-333099.9langflow: Path Traversal enables file access
Same package: langflowCVE-2026-552559.9Langflow: IDOR allows cross-user flow execution
Same package: langflowCVE-2026-78739.9Langflow: authenticated RCE enables credential theft
Same package: langflow