注目★★★★★GitHub Advisory
Budibase の公開アプリ、認証なしで全DBレコード読み取られる NoSQL インジェクション
30秒で把握
- 1Budibase の公開アプリで NoSQL インジェクション・未認証で全 DB 読み取り可能
- 2認証・CSRF を免除する PUBLIC ロールパスが悪用され MongoDB など複数 DB が対象
- 3公開アプリ運用中の場合はパッチ適用または PUBLIC クエリの即時無効化が必要
要約
Budibase の公開アプリに、未認証の攻撃者が NoSQL オペレータインジェクションでバックエンド DB の全ドキュメントを読み取れる脆弱性 CVE-2026-54350 が確認された。`enrichContext` がパラメータ値を生の JSON ボディに直接展開し、バリデータが JSON メタ文字をエスケープしないため、攻撃者がフィルタオブジェクトに任意のキーを注入できる。MongoDB の `find` では `{$exists: true}` 相当の条件で全件取得、`updateMany` ではコレクション全体への更新が可能となる。公開アプリの `/api/v2/queries/:queryId` エンドポイントはロールが `PUBLIC` の場合に認証・CSRF を免除するため、`x-budibase-app-id` ヘッダだけで無セッションからの呼び出しが成立する。MongoDB・CouchDB・Elasticsearch・DynamoDB 等の複数バックエンドが影響を受ける。
あなたへの影響
Budibase で公開アプリを運用しているチームは、クエリのロールが PUBLIC に設定されているエンドポイントを即時棚卸しし。
推奨:パッチ適用または該当クエリの公開停止を優先対応すること。