Een kritieke kwetsbaarheid in Bifrost, een open-source AI-gateway die verzoeken doorstuurt naar meer dan twintig LLM-providers, stelt een niet-geverifieerde aanvaller in staat willekeurige opdrachten uit te voeren op de gateway-server met een enkel HTTP-verzoek.
De fout, bijgehouden als CVE-2026-90898 (CVSS-score: 9.8), treft alle versies van het Bifrost HTTP-transport vóór 2.1.0 wanneer beheerauthenticatie is uitgeschakeld, wat de standaardconfiguratie is. Er is een oplossing beschikbaar in transports/v2.1.0.
Yuval Moravchick van JFrog Security Research, die de fout ontdekte, zei dat een aanvaller een MCP-client van het stdio-type kan registreren via een enkele niet-geverifieerde POST op het beheer-API-eindpunt /api/mcp/client. Bifrost start de opgegeven opdracht onmiddellijk, vóór elke MCP-handshake, als gatewayprocesgebruiker.
Op de officiële Docker-image is die gebruiker appuser. Omdat de gateway API-sleutels opslaat voor elke verbonden provider, geeft het uitvoeren van opdrachten op het gatewayproces de aanvaller toegang tot die inloggegevens.
Het standaard Bifrost-binaire bestand bindt de beheer-API standaard aan localhost, waardoor de blootstelling aan de lokale machine wordt beperkt. De officiële Docker-image is gebonden aan 0.0.0.0, waardoor de beheer-API van buiten de container bereikbaar is als de port wordt gepubliceerd.
Operators moeten upgraden naar transports/v2.1.0, dat 403 retourneert wanneer een niet-geverifieerde beller een stdio MCP-client probeert te registreren. Degenen die niet onmiddellijk kunnen upgraden, moeten governance.auth_config.is_enabled instellen op true, sterke inloggegevens gebruiken en de beheerlistener buiten niet-vertrouwde netwerken houden.
JFrog adviseert om elke instantie die draaide terwijl de authenticatie was uitgeschakeld en de beheer-API als gecompromitteerd werd aangemerkt, te behandelen en virtuele sleutels en API-sleutels van de provider te roteren.
Operators op transports/v2.0.0 worden nog steeds getroffen door de MCP-fout. Die release loste alleen een eerdere kwetsbaarheid van de plug-in op en blokkeert de niet-geverifieerde registratie niet. De regel 1.6.x tot en met 1.6.11 bevat geen van beide oplossingen.
Een tweede, gerelateerde fout gevonden door Or Peles van hetzelfde onderzoeksteam werd op 6 september onthuld. CVE-2026-86242 (CVSS-score: 8,1) stelt een niet-geverifieerde aanvaller in staat een aangepaste plug-in te registreren waarvan het pad een HTTP-URL is. Bifrost downloadt het bestand, schrijft het als een tijdelijk gedeeld object en laadt het via de plug-in.Open-functie van Go.
Bij dynamisch gekoppelde builds, die Bifrost nodig heeft voor aangepaste Go-plug-ins, wordt de plug-in geladen en wordt de code uitgevoerd als de gateway-procesgebruiker. Bij statisch gekoppelde builds, inclusief de officiële Docker-image, mislukt plugin.Open en het resultaat is alleen vervalsing van verzoeken aan de serverzijde. De oplossing zit in transports/v2.0.0.
Beide fouten hebben dezelfde oorzaak: de beheer-API van Bifrost wordt geleverd met standaard uitgeschakelde authenticatie. Dit zijn de tweede en derde beveiligingsproblemen die in minder dan een maand in het project worden onthuld, nadat een niet-gerelateerde SSRF-fout (CVE-2026-55245) eind augustus werd opgelost.
De MCP-fout volgt een patroon dat al tot aanvallen in de echte wereld heeft geleid. In april 2026 onthulden onderzoekers een ontwerpfout in het STDIO-transport van MCP die van invloed is op de officiële SDK’s van Anthropic. Een soortgelijke opdrachtinjectiefout in LiteLLM, een andere AI-gateway, werd in juni actief uitgebuit en toegevoegd aan CISA’s Known Exploited Vulnerabilities-catalogus.
Geen van beide Bifrost CVE verschijnt vanaf publicatie in de KEV-catalogus.