Langflow AI versions 1.6.9 and earlier are vulnerable to a CORS misconfiguration that allows any origin to make credentialed requests. Combined with SameSite=None cookies, this enables cross-origin token theft and subsequent remote code execution via the /api/v1/validate/code endpoint.
PoC代码[已公开]
id: CVE-2025-34291
info:
name: Langflow AI <= 1.6.9 - CORS Misconfiguration
author: 686f6c61
severity: critical
description: |
Langflow AI versions 1.6.9 and earlier are vulnerable to a CORS misconfiguration that allows any origin to make credentialed requests. Combined with SameSite=None cookies, this enables cross-origin token theft and subsequent remote code execution via the /api/v1/validate/code endpoint.
impact: |
An attacker can steal authentication tokens via CORS and execute arbitrary code on the server.
remediation: |
Upgrade to Langflow version 1.7.0 or later which restricts CORS origins properly.
reference:
- https://www.obsidiansecurity.com/blog/cve-2025-34291-critical-account-takeover-and-rce-vulnerability-in-the-langflow-ai-agent-workflow-platform
- https://nvd.nist.gov/vuln/detail/CVE-2025-34291
- https://github.com/langflow-ai/langflow
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
cvss-score: 9.4
cve-id: CVE-2025-34291
epss-score: 0.03305
epss-percentile: 0.86864
cwe-id: CWE-942
metadata:
verified: true
max-request: 2
vendor: langflow-ai
product: langflow
shodan-query: html:"Langflow"
fofa-query: body="Langflow"
tags: cve,cve2025,langflow,cors,misconfig,vuln,oss
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: word
part: body
words:
- "Langflow"
internal: true
- raw:
- |
OPTIONS /api/v1/refresh HTTP/1.1
Host: {{Hostname}}
Origin: https://scanme.sh
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
matchers-condition: and
matchers:
- type: word
part: header
words:
- "Access-Control-Allow-Origin: https://scanme.sh"
- "Access-Control-Allow-Credentials: true"
condition: and
- type: status
part: header
status:
- 200
# digest: 4a0a0047304502203cff445c968f103d3a7b4919a8fd98e88da7c26fc70783bad5f7996a9a275323022100bab12918ef55c1ee9f9bb088742e249d445e3fd6184ad695f6c1655f75c622ea:922c64590222798bb761d5b6d8e72950