Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 11.09.2026 23:19

@Mockoon/commons-server: Unauthenticated admin API + wildcard CORS allows mock-state hijack and secret theft

CVSS –1 Quelle

Beschreibung

Die Admin-API von Mockoon ([`commons-server/src/libs/server/admin-api.ts`](https://github.com/mockoon/blob/4375a8f/packages/commons-server/src/libs/server/admin-api.ts)) wird auf dem gleichen Express-Hörer wie die benutzerdefinierten Mockrouten montiert, ** standardmäßig** in jeder versendeten Laufzeit (commons-server, CLI, serverless) aktiviert, dient **`Access-Control-Allow-Origin: *` auf jedem Endpunkt mit allen erlaubten HTTP-Methoden einschließlich PUT/POST/PATCH/DELETE/PURGE und `Content-Type` in `Access-Control-Allow-Headers`** und hat **Null-Authentifizierung jeglicher Art** (kein Token, kein gemeinsames Geheimnis, kein `MOCKOON ADMIN TOKEN` env var – durchsucht Jeder nicht authentifizierte Anrufer, der den Port des Mockservers erreichen kann (standardmäßig `0.0.0.0:3000`), kann: - Lesen Sie jeden `MOCKOON *` env var, der vom Betreiber als geheimes Material in Vorlagen verwendet wird (`getEnvVar`-Helfer). - **Write arbitrary process env vars (no prefix check on the WRITE path)** — poison operator's `MOCKOON API KEY`, `MOCKOON JWT SECRET`, ..., or write process-level vars like `AWS SECRET ACCESS KEY` that the surrounding runtime consumed. - **Rewrite every mock route's body / status / headers in-runtime** via `PUT /mockoon-admin/environment` — nachgelagerte Verbraucher (Frontend-Dev-Server, CI-Testsuite, Integrationspartner) erhalten vom Angreifer gesteuerte Antworten und Header einschließlich `Set-Cookie`, `Location`, `Content-Security-Policy`, etc. - Lesen Sie Transaktionsprotokolle / SSE-Stream (Consumer's Request Bodys + auth Header in clear). - Lesen / Schreiben Sie globale Template Vars; Purge State / Data Buckets / Logs. Aufgrund der Wildcard-CORS-Antwort landet der Angriff auch Cross-Original von einem Browser: Ein Entwickler, der lokal "Mockoon-Cli-Start" betreibt und eine bösartige Website besucht, wird entführt. --- ## Details ### Root Ursache `packages/commons-server/src/libs/server/server.ts:127`: ``ts private options: ServerOptions = { ... enableAdminApi: true, // ← default on }; ```ts private options: ServerOptions = { ... enableAdminApi: true, // enableAdmin-api'; ```ts enableAdmin-api: ``packages/serverless/src/libs/serverless.ts:21`: ```ts enableAdminApi: true, // ← default on, no flag to disable in the constructor ``` packages/commons-server/src/libs/server/admin.ts: 63-74` (permissive CORS auf jedem Admin-Endpunkt): ``${adminApiPrefix}*, (req, res, next) {req, ressetHeaders({'Access-Control-Allow-Origin

Hersteller
Produkt@mockoon/commons-server, @mockoon/cli
Produktfamilienpm
Betroffene Versionen< 9.7.0
Behobene Versionen9.7.0

Quellen & weiterführende Informationen

Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.

Was ist zur Behebung zu tun?

Auf eine behobene Version aktualisieren: 9.7.0.

PrioritätGelb
EinordnungZeitnah behandeln: hohes technisches Risiko.

Empfohlene Schritte

  • Betroffene Systeme identifizieren: @mockoon/commons-server, @mockoon/cli.
  • Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
  • Update/Rollout auf behobene Version vorbereiten und priorisiert einspielen.
  • Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.

Übergangsmaßnahmen

  • Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
  • WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
  • Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.
  • Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.