{"basis":"claimed","id":"CVE-2026-5027","name":"Langflow - Path Traversal Arbitrary File Write via upload_user_file","vendorProject":"langflow-ai","product":"langflow","publishedAt":"2026-03-27","cvss":{"score":8.8,"severity":"HIGH","version":"3.1"},"exploited":null,"epss":{"score":0.39973,"percentile":0.98628,"date":"2026-11-02"},"coverage":{"cloudflare":{"status":"none","firstOn":null,"daysToRule":null},"aws":{"status":"none","firstOn":null,"daysToRule":null},"azure":{"status":"none","firstOn":null,"daysToRule":null},"google":{"status":"none","firstOn":null,"daysToRule":null},"fastly":{"status":"no_history","firstOn":null,"daysToRule":null},"f5":{"status":"rule","firstOn":"2026-09-16","daysToRule":173},"akamai":{"status":"no_source","firstOn":null,"daysToRule":null},"crs":{"status":"none","firstOn":null,"daysToRule":null}},"title":"Langflow - Path Traversal Arbitrary File Write via upload_user_file","description":"The 'POST /api/v2/files' endpoint does not sanitize the 'filename' parameter from the multipart form data, allowing an attacker to write files to arbitrary locations on the filesystem using path traversal sequences ('../').","cwes":["CWE-22"],"vendors":[{"vendor":"cloudflare","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"aws","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"azure","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"google","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"fastly","status":"no_history","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"f5","status":"rule","basis":"claimed","firstOn":"2026-09-16","firstIsNew":true,"daysToRule":173,"daysAtMost":null,"freePlan":false,"claims":[{"id":"064b094a0a2acc37dfa967cbeb9343f70493044cd8bfe2ebd9adb8ffaafd4e7a","cve_id":"CVE-2026-5027","vendor":"f5","product":"Attack signatures","rule_id":"200007111","rule_name":"Langflow Arbitrary File Write","change":"new","default_action":null,"published_on":"2026-09-16","source_url":"https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog","source_title":"F5 Distributed Cloud attack signatures changelog","excerpt":"Added: signature 200007111 \"Langflow Arbitrary File Write\" (Path Traversal, risk High), systems: Other Web Server. References: CVE-2026-5027.","first_seen_at":"2026-11-02T21:00:23.977Z"}]},{"vendor":"akamai","status":"no_source","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"crs","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]}],"updatedAt":"2026-11-03T18:25:15.447Z","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total"},"kevAction":null,"kevNotes":null,"references":[{"url":"https://www.tenable.com/security/research/tra-2026-26","name":null,"tags":[]}],"affected":[{"vendor":"langflow-ai","product":"langflow","affected":[],"fixed":[]}],"briefing":{"status":{"id":"action_required","label":"Action required"},"why":"Exploit code is published on Exploit-DB. EPSS ranks it in the top 1% of CVEs most likely to be exploited in the next 30 days. Exploitation in the wild is not established by CISA KEV.","who":"Teams running langflow-ai langflow. Affected versions are in the vendor advisory. Prioritise internet-facing instances.","what_to_do":[{"text":"Find the version you run. In the Langflow environment:","command":{"where":"In the Langflow environment","command":"pip show langflow"}},{"text":"Apply the vendor's fix; the advisory lists the affected and fixed versions."},{"text":"Keep a WAF rule in place while you patch: F5 ships a rule you may need to switch on. A WAF rule reduces exposure; it does not replace the patch.","href":"#edge","linkText":"Edge coverage"},{"text":"Check which WAF sits in front of your site and whether it covers this CVE.","href":"#check","linkText":"Check your domain"}],"evidence":[{"heading":"CVE record","text":"CVSS 3.1 8.8 (high). Weakness: CWE-22.","links":[{"label":"CVE-2026-5027","href":"https://www.cve.org/CVERecord?id=CVE-2026-5027"},{"label":"NVD","href":"https://nvd.nist.gov/vuln/detail/CVE-2026-5027"}]},{"heading":"Exploit evidence","text":"Exploit-DB lists 1 exploit. A nuclei template exists, which our lab and benchmark replay.","links":[{"label":"Exploit-DB: Langflow  1.8.4 - Path Traversal to Remote Code Execution","href":"https://www.exploit-db.com/exploits/52659"}]},{"heading":"Seen exploited","text":"Claimed in 3 Telegram posts (unverified).","links":[]},{"heading":"CISA KEV","text":"Not in the KEV catalog (catalog 2026.11.03, checked 2026-11-04). Absence from KEV is not evidence that it cannot be exploited.","links":[{"label":"CISA KEV catalog","href":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog"}]},{"heading":"EPSS","text":"40.0% probability of exploitation activity in the next 30 days, higher than 98% of CVEs (2026-11-02).","links":[{"label":"FIRST EPSS","href":"https://api.first.org/data/v1/epss?cve=CVE-2026-5027"}]},{"heading":"WAF vendor statements","text":"F5 names it in a changelog. Quotes and dates below.","links":[{"label":"Vendor statements","href":"#evidence"}]}],"agent_prompt":"Assess whether the infrastructure available to you is affected by CVE-2026-5027 (Langflow - Path Traversal Arbitrary File Write via upload_user_file). Perform a read-only assessment within your authorized access. Do not send exploit traffic, scan third-party systems, change configuration or restart services.\n\n1. Verify the CVE record at https://www.cve.org/CVERecord?id=CVE-2026-5027 and the vendor advisory. Establish affected and fixed versions, including vendor backports. Cite sources and retrieval dates; flag anything you cannot verify.\n2. Inventory deployments of langflow-ai langflow: asset, environment, owner where known, installed version or build, and how you confirmed it (package metadata, a version endpoint, image tags), e.g. `pip show langflow` (in the Langflow environment). An image tag alone does not prove the running version.\n3. Identify which deployments are reachable from the internet or untrusted networks, and through which paths (direct origin, load balancer, CDN or WAF).\n4. Assess compensating controls separately from patch status. Current edge WAF coverage for this CVE: F5: rule exists, check whether it is enabled. Live data: https://cve.vigilbase.com/api/v1/cves/CVE-2026-5027. Check whether the rule is enabled and in block mode on each path, and whether any path bypasses the WAF. A WAF rule is not a patch.\n5. Check logs on exposed instances for requests matching the public exploit, if your access allows.\n\nReturn a short summary and a table: asset | version/build | assessment (affected, fixed, not applicable, unknown) | exposure | compensating control | evidence | next action. List what you could not assess and the access needed to resolve it. Do not infer absence of compromise from patch status or a lack of alerts.\n\nRemediation guidance: Apply the vendor's fix; the advisory lists the affected and fixed versions. Keep a WAF rule in place while you patch: F5 ships a rule you may need to switch on. A WAF rule reduces exposure; it does not replace the patch.\nMore: https://cve.vigilbase.com/cve/CVE-2026-5027"},"measured":[{"engineId":"owasp-crs","engineName":"OWASP Core Rule Set","engineVersion":"4.25.0","runtime":"Coraza v3.8.1","config":"paranoia level 1, anomaly threshold 5, default CRS settings","ranAt":"2026-11-02T13:02:57.000Z","verdict":"partial","templateId":"CVE-2026-5027","templatePath":"http/cves/2026/CVE-2026-5027.yaml","requests":4,"blockedRequests":2,"rules":["930100","930110"],"note":"","requestDetail":[{"method":"GET","path":"/api/v1/auto_login","status":200,"blocked":false,"rules":[]},{"method":"POST","path":"/api/v2/files","status":403,"blocked":true,"rules":["930100","930110"]},{"method":"POST","path":"/api/v1/login","status":200,"blocked":false,"rules":[]},{"method":"POST","path":"/api/v2/files","status":403,"blocked":true,"rules":["930100","930110"]}]},{"engineId":"owasp-crs","engineName":"OWASP Core Rule Set","engineVersion":"4.25.0","runtime":"Coraza v3.8.1","config":"paranoia level 2, anomaly threshold 5, default CRS settings","ranAt":"2026-11-02T13:03:28.000Z","verdict":"partial","templateId":"CVE-2026-5027","templatePath":"http/cves/2026/CVE-2026-5027.yaml","requests":4,"blockedRequests":2,"rules":["930100","930110"],"note":"","requestDetail":[{"method":"GET","path":"/api/v1/auto_login","status":200,"blocked":false,"rules":[]},{"method":"POST","path":"/api/v2/files","status":403,"blocked":true,"rules":["930100","930110"]},{"method":"POST","path":"/api/v1/login","status":200,"blocked":false,"rules":[]},{"method":"POST","path":"/api/v2/files","status":403,"blocked":true,"rules":["930100","930110"]}]}],"sightings":{"honeypot":null,"catalog":null,"reports":[],"telegram":{"posts":3,"last":"2026-09-19"},"days":{"honeypot":[],"reports":[],"telegram":["2026-08-31","2026-09-02","2026-09-19"]}},"social":{"total":0,"first_seen":null,"daily":[{"day":"2026-10-22","posts":0},{"day":"2026-10-23","posts":0},{"day":"2026-10-24","posts":0},{"day":"2026-10-25","posts":0},{"day":"2026-10-26","posts":0},{"day":"2026-10-27","posts":0},{"day":"2026-10-28","posts":0},{"day":"2026-10-29","posts":0},{"day":"2026-10-30","posts":0},{"day":"2026-10-31","posts":0},{"day":"2026-11-01","posts":0},{"day":"2026-11-02","posts":0},{"day":"2026-11-03","posts":0},{"day":"2026-11-04","posts":0}],"top_posts":[],"exploit_repositories":[]}}