CVE-2026-54350
Budibase: Anonyme NoSQL-Operator-Injection über Abfragevorlagen veröffentlichter Apps
- Veröffentlicht
- 26.06.2026
- Aktualisiert
- 30.06.2026
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 08.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NNiedrig · nächste 30 Tage
- Perzentil
- 44,0 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Budibase ist eine Open-Source-Low-Code-Plattform. Vor Version 3.39.12 liest ein nicht authentifizierter Besucher einer beliebigen veröffentlichten Budibase-App jedes Dokument der zugrunde liegenden MongoDB-, CouchDB-, Elasticsearch-, DynamoDB-PartiQL- oder REST-mit-JSON-Body-Collection und modifiziert, falls der Builder eine PUBLIC-Schreibabfrage veröffentlicht hat, jedes Dokument dieser Collection mit einer einzigen HTTP-Anfrage. enrichContext in packages/server/src/sdk/workspace/queries/queries.ts:121-138 ersetzt Parameterwerte in den rohen JSON-Body einer Query und führt anschließend JSON.parse auf dem Ergebnis aus. Der Validator validateQueryInputs in packages/server/src/api/controllers/query/index.ts:61-71 lehnt nur Handlebars-Marker ({{, }}) in Benutzereingaben ab und escaped keine JSON-Metazeichen (", \, }). Ein Parameterwert, der ein schließendes Anführungszeichen und zusätzliche Schlüssel enthält, bringt vom Angreifer kontrollierte Felder in das geparste Filterobjekt ein. Bei Mongo find wird der geparste Filter direkt an collection.find() übergeben (packages/server/src/integrations/mongodb.ts:506-510). JSON-Parsing mit doppelten Schlüsseln überschreibt das {name: "..."} des Builders mit {name: {$exists: true}} und gibt jedes Dokument zurück. Dieselbe Grundtechnik gegen eine updateMany-Query (mongodb.ts:577-585) erweitert den Filterbereich auf die gesamte Collection, während der vom Builder kontrollierte $set-Body gegen jedes passende Dokument ausgeführt wird. Die Middleware authorized in packages/server/src/middleware/authorized.ts:141-148 bricht frühzeitig ab, wenn die Rolle der Query PUBLIC ist. CSRF wird auf diesem Pfad nicht erzwungen. POST /api/v2/queries/:queryId (packages/server/src/api/routes/query.ts:63) akzeptiert den Aufruf ohne Sitzung, nur mit einem x-budibase-app-id-Header, der über die URL der veröffentlichten App öffentlich verfügbar ist. Diese Schwachstelle wurde in 3.39.12 behoben.
Quellen
1Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.