CVE-2026-90898 PUBLISHED

Bifrost unauthenticated remote code execution via MCP stdio client registration

Assigner: JFROG
Reserved: 14.09.2026 Published: 14.09.2026 Updated: 14.09.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8

Product Status

Vendor maximhq
Product Bifrost
Versions Default: unaffected
  • affected from 0 to 2.1.0 (excl.)

Affected Configurations

Management API reachable and governance.auth_config.is_enabled=false, which is the documented default. Confirmed on maximhq/bifrost v1.6.3. Fixed in transports/v2.1.0 (2026-09-08). An operator who enables management authentication and keeps the admin listener off untrusted networks is not exposed to the unauthenticated form of this issue.

Exploits

JFrog has a private proof of concept. An unauthenticated POST /api/mcp/client with connection_type stdio and attacker-chosen command and args starts the program in the gateway. Public exploit details are not included in this record.

Workarounds

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

Solutions

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.

Credits

  • Yuval Moravchick | JFrog finder

References

Problem Types

  • CWE-306 Missing Authentication for Critical Function CWE
  • CWE-284 Improper Access Control CWE