CVE-2026-90898

Bifrost unauthenticated remote code execution via MCP stdio client registration

Published Sep 14, 2026 CVSS 3.1 · 9.8 Critical EPSS 2.3% KEV · Not listed
Description
Bifrost registers MCP clients through its management API. A stdio client is a command plus args. Bifrost starts that program in the gateway the moment the client is added. No MCP handshake required.



The default is governance.auth_config.is_enabled=false. Auth off means every caller is a local admin. One unauthenticated POST /api/mcp/client is enough to run a program as the Bifrost process user (appuser on the official image).



 transports/v2.1.0 refuses an unauthenticated stdio registration with 403. transports/v2.0.0 still allows it.

Remediation

Vendor Solution

Upgrade Bifrost HTTP transport to 2.1.0 or later. PR #6757 returns 403 for unauthenticated stdio MCP client registration when dashboard authentication is disabled or unconfigured. Authenticated admins can still add stdio clients. The 1.6.x line through 1.6.11 and transports/v2.0.0 do not include this change.


Vendor Workaround

Set governance.auth_config.is_enabled to true, use strong administrator credentials, and firewall the management listener.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Maximhq
Maximhq bifrost
Vendors & Products Maximhq
Maximhq bifrost
Type Values Removed Values Added
Description Bifrost registers MCP clients through its management API. A stdio client is a command plus args. Bifrost starts that program in the gateway the moment the client is added. No MCP handshake required. The default is governance.auth_config.is_enabled=false. Auth off means every caller is a local admin. One unauthenticated POST /api/mcp/client is enough to run a program as the Bifrost process user (appuser on the official image).  transports/v2.1.0 refuses an unauthenticated stdio registration with 403. transports/v2.0.0 still allows it.
Title Bifrost unauthenticated remote code execution via MCP stdio client registration
Weaknesses CWE-284
CWE-306
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
JFROG
Published
Updated
Sep 14, 2026, 11:19 AM
Reserved
Sep 14, 2026, 10:13 AM
Status
Awaiting Analysis
Published
Sep 14, 2026, 11:17 AM
Modified
Sep 18, 2026, 7:31 PM