{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2025-34291/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2025-34291/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2025-34291/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2025-34291/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2025-34291/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2025-34291"},"sightings":{"href":"/api/v1/sightings/cve-2025-34291"}},"enrichments":{"cisa-kev":{"kev":true},"epss":{"epss":0.83629,"kev":true,"percentile":0.99674},"nuclei":{"nuclei":true,"nuclei_template":"http/cves/2025/CVE-2025-34291.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2025-34291\n\ninfo:\n  name: Langflow AI <= 1.6.9 - CORS Misconfiguration\n  author: 686f6c61\n  severity: critical\n  description: |\n    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.\n  impact: |\n    An attacker can steal authentication tokens via CORS and execute arbitrary code on the server.\n  remediation: |\n    Upgrade to Langflow version 1.7.0 or later which restricts CORS origins properly.\n  reference:\n    - https://www.obsidiansecurity.com/blog/cve-2025-34291-critical-account-takeover-and-rce-vulnerability-in-the-langflow-ai-agent-workflow-platform\n    - https://nvd.nist.gov/vuln/detail/CVE-2025-34291\n    - https://github.com/langflow-ai/langflow\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H\n    cvss-score: 9.4\n    cve-id: CVE-2025-34291\n    epss-score: 0.83629\n    epss-percentile: 0.99674\n    cwe-id: CWE-942\n  metadata:\n    verified: true\n    max-request: 2\n    vendor: langflow-ai\n    product: langflow\n    shodan-query: html:\"Langflow\"\n    fofa-query: body=\"Langflow\"\n  tags: cve,cve2025,langflow,cors,misconfig,vuln,oss,vkev,kev\n\nflow: http(1) && http(2)\n\nhttp:\n  - raw:\n      - |\n        GET / HTTP/1.1\n        Host: {{Hostname}}\n\n    matchers:\n      - type: word\n        part: body\n        words:\n          - \"Langflow\"\n        internal: true\n\n  - raw:\n      - |\n        OPTIONS /api/v1/refresh HTTP/1.1\n        Host: {{Hostname}}\n        Origin: https://scanme.sh\n        Access-Control-Request-Method: POST\n        Access-Control-Request-Headers: content-type\n\n    matchers-condition: and\n    matchers:\n      - type: word\n        part: header\n        words:\n          - \"Access-Control-Allow-Origin: https://scanme.sh\"\n          - \"Access-Control-Allow-Credentials: true\"\n        condition: and\n\n      - type: status\n        part: header\n        status:\n          - 200\n# digest: 4a0a00473045022100a11950c7a2b6afdc0d7be831e77c027a8e38b5e59ef4f60bbb2a7f68f36efc7d022010555ce0f07f9d5b70f4bcf6fb270a76ca7b0eea0657bb390149c2c66260db6f:922c64590222798bb761d5b6d8e72950"}},"vuln_id":"cve-2025-34291"}