CVE-2026-90898: maximhq Bifrost · Missing Authentication
Affects maximhq BifrostSource CVE Database V5
Not known to be exploited · public detection template (Nuclei) · CVSS 9.8 Critical : upgrade to 2.1.0 as a priority.
Data as of 29 Oct 2026, 19:04 UTC
- EPSS
- 2.3% chance of exploitation in 30 days – higher than 83% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.1.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 14 Sep 2026
Detectable: evidence found.
nuclei template: Bifrost < 2.1.0 - Unauthenticated MCP Stdio Command Execution
Weaponized: evidence found.
Public exploit code: GitHub proofs of concept
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), GitHub proofs of concept, the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Upgrade Bifrost and github.com/maximhq/bifrost/transports to 2.1.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| maximhqBifrost | Affected
| Fixed in
|
GitHubgithub.com/maximhq/bifrost/transportspkg:github/github.com/maximhq/bifrost/transportsOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade to version 2.1.0 or later, which enforces authentication and rejects unauthenticated stdio client registrations with a 403 error. Until upgraded, enable authentication by setting governance.auth_config.is_enabled to true to prevent unauthorized access. No other mitigations are indicated in the advisory.
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.