{"id":"CVE-2025-34291","published":"2025-12-05T23:15:47Z","modified":"2026-10-15T21:10:00Z","title":"Langflow Origin Validation Error Vulnerability","vendor":"Langflow","product":"Langflow","tier":"core","eol":null,"description":{"text":"Langflow versions up to and including 1.6.9 contain a chained vulnerability that enables account takeover and remote code execution. An overly permissive CORS configuration (allow_origins='*' with allow_credentials=True) combined with a refresh token cookie configured as SameSite=None allows a malicious webpage to perform cross-origin requests that include credentials and successfully call the refresh endpoint. An attacker-controlled origin can therefore obtain fresh access_token / refresh_token pairs for a victim session. Obtained tokens permit access to authenticated endpoints — including built-in code-execution functionality — allowing the attacker to execute arbitrary code and achieve full system compromise.","provenance":"source","from":"NVD"},"summary":{"text":"Langflow versions up to and including 1.6.9 contain an origin validation flaw, stemming from an overly permissive CORS configuration combined with a SameSite=None refresh token cookie, that lets cross-origin requests from a malicious webpage carry credentials. An attacker who can get a victim to load a page they control, with the victim's Langflow session active, can obtain fresh access and refresh tokens and use them to reach authenticated endpoints, including built-in code-execution functionality, to run arbitrary code on the system.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T07:11:01Z"},"cvss":{"score":8.8,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"NVD"},"epss":{"score":0.92808,"percentile":0.99828,"date":"2026-10-29","provenance":"source"},"kev":{"dateAdded":"2026-05-21","dueDate":"2026-06-04","ransomware":false,"requiredAction":"Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.","notes":"This vulnerability could affect an open-source component, third-party library, protocol, or proprietary implementation that could be used by different products. For more information, please see: https://github.com/langflow-ai/langflow ; https://github.com/langflow-ai/langflow/releases/tag/v1.9.3; https://github.com/langflow-ai/langflow/issues/11465#event-25774545848 ; https://nvd.nist.gov/vuln/detail/CVE-2025-34291","provenance":"source"},"vulncheckKev":{"dateAdded":"2026-01-23","exploitedFirstSeen":"2026-01-23","ransomware":false,"evidence":[{"url":"https://app.crowdsec.net/cti/cve-explorer/CVE-2025-34291","date":"2026-01-23"},{"url":"https://ctrlaltintel.com/threat%20research/MuddyWater/","date":"2026-03-04"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2026-05-21"},{"url":"https://expel.com/blog/the-ai-cve-exploitation-evidence-story-headlines-are-scarier-than-reality/","date":"2026-08-27"},{"url":"https://www.vulncheck.com/blog/pwning-the-ai-stack","date":"2026-08-28"}],"evidenceTotal":5,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 30, 2026","url":"https://otx.alienvault.com/pulse/6ae35d889ea92b4ce19c2680","created":"2026-10-29"},{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"}],"provenance":"machine"},"cwes":[{"id":"CWE-346","name":"Origin Validation Error"}],"references":[{"url":"https://github.com/langflow-ai/langflow","tags":["Product"]},{"url":"https://www.obsidiansecurity.com/blog/cve-2025-34291-critical-account-takeover-and-rce-vulnerability-in-the-langflow-ai-agent-workflow-platform","tags":["Exploit","Mitigation","Third Party Advisory"]},{"url":"https://www.vulncheck.com/advisories/langflow-cors-misconfiguration-to-token-hijack-and-rce","tags":["Third Party Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-34291","tags":["US Government Resource"]},{"url":"https://www.crowdsec.net/vulntracking-report/cve-2025-34291","tags":["Third Party Advisory"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: Cross-origin web request exploits exposed application endpoint","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"An attacker-controlled origin can therefore obtain fresh access_token / refresh_token pairs for a victim session","start":415,"end":527}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1059","name":"Command and Scripting Interpreter","tactics":["execution"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: Built-in code execution functionality yields arbitrary command execution","mappingType":"primary_impact","evidence":[{"from":"description","quote":"allowing the attacker to execute arbitrary code and achieve full system compromise","start":638,"end":720}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[{"id":"SRC-6456fe61781512dde412","title":"MuddyWater Exposed: Inside an Iranian APT operation - Ctrl-Alt-Intel","publisher":"ctrlaltintel.com","url":"https://ctrlaltintel.com/research/MuddyWater/","date":"2026-03-04","mentions":[{"quote":"CVE-2025-34291 - Langflow chained account takeover + RCE","start":4358,"end":4414}]}],"affected":[{"ecosystem":"PyPI","package":"langflow","vulnerableRanges":["<1.7.0"],"patched":["1.7.0"],"from":["GHSA-577h-p2hh-v4mv","PYSEC-2025-78"],"provenance":"source"}],"advisories":[{"id":"GHSA-577h-p2hh-v4mv","url":"https://github.com/advisories/GHSA-577h-p2hh-v4mv","severity":"CRITICAL","ecosystem":"PyPI","package":"langflow","vulnerableRanges":["<1.7.0"],"patched":["1.7.0"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2025-201507","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-201507","exploited":true,"exploitedSince":"2026-05-21","provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":2,"skipped":0,"earliest":"2026-05-18","earliestUrl":"https://github.com/amnnrth/CVE-2025-34291_cors_security_scanner","repos":[{"name":"amnnrth/CVE-2025-34291_cors_security_scanner","url":"https://github.com/amnnrth/CVE-2025-34291_cors_security_scanner","stars":0,"created":"2026-05-18"},{"name":"ridhinva/langflow-cors-scanner","url":"https://github.com/ridhinva/langflow-cors-scanner","stars":0,"created":"2026-05-22"}]},"nuclei":[{"id":"CVE-2025-34291","name":"Langflow AI <= 1.6.9 - CORS Misconfiguration","severity":"critical","path":"http/cves/2025/CVE-2025-34291.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-34291.yaml"}],"first":{"date":"2026-05-18","source":"PoC-in-GitHub","url":"https://github.com/amnnrth/CVE-2025-34291_cors_security_scanner"},"provenance":"source"},"exploitRefs":["https://www.obsidiansecurity.com/blog/cve-2025-34291-critical-account-takeover-and-rce-vulnerability-in-the-langflow-ai-agent-workflow-platform"],"flow":[{"stage":"exploitation","techniques":["T1190"],"provenance":"ai"},{"stage":"primary","techniques":["T1059"],"provenance":"ai"}],"timeline":[{"date":"2025-12-05","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-34291","provenance":"source"},{"date":"2026-01-23","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://app.crowdsec.net/cti/cve-explorer/CVE-2025-34291","provenance":"source"},{"date":"2026-03-04","kind":"report","label":"Named in ctrlaltintel.com: MuddyWater Exposed: Inside an Iranian APT operation - Ctrl-Alt-Intel","url":"https://ctrlaltintel.com/research/MuddyWater/","provenance":"machine"},{"date":"2026-05-18","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/amnnrth/CVE-2025-34291_cors_security_scanner","provenance":"source"},{"date":"2026-05-21","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2026-05-21","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-201507","provenance":"source"}],"speed":{"daysToPublicExploit":164,"firstExploitFrom":"PoC-in-GitHub","daysToKev":167},"priority":{"score":78.0,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":5.0,"detail":"added 280 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.97,"detail":"percentile 0.9983"},{"name":"Named in threat reports","points":3.87,"detail":"1 report"},{"name":"Public exploit code","points":5.0,"detail":"1 NVD reference tagged Exploit; 2 PoC-in-GitHub repos; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":6.16,"detail":"base score 8.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"packageHistory":[{"cve":"CVE-2025-3248","published":"2025-04-07","fixed":"1.3.0","kev":true},{"cve":"CVE-2025-57760","published":"2025-08-25","fixed":"1.5.1","kev":false,"link":{"from":"CVE-2025-57760","to":"CVE-2025-34291","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:langflow","fromFixed":"1.5.1","toFixed":"1.7.0","daysApart":102}]}},{"cve":"CVE-2026-34046","published":"2026-03-27","fixed":"1.5.1","kev":false},{"cve":"CVE-2025-34291","published":"2025-12-05","fixed":"1.7.0","kev":true},{"cve":"CVE-2026-55423","published":"2026-06-23","fixed":"1.7.0","kev":false},{"cve":"CVE-2025-68477","published":"2025-12-19","fixed":"1.7.1","kev":false},{"cve":"CVE-2025-68478","published":"2025-12-19","fixed":"1.7.1","kev":false}],"package":"PyPI:langflow"}}