【活用ガイド】

JVNDB-2026-021670

budibaseにおける複数の脆弱性

概要

Budibaseはオープンソースのローコードプラットフォームです。バージョン3.39.12以前では、認証されていない訪問者が公開された任意のBudibaseアプリにアクセスすると、MongoDB、CouchDB、Elasticsearch、DynamoDB-PartiQL、REST-with-JSON-bodyコレクションの全ドキュメントを取得できます。ビルダーがPUBLICの書き込みクエリを公開している場合、単一のHTTPリクエストで該当コレクション内の全ドキュメントを変更できます。packages/server/src/sdk/workspace/queries/queries.tsの121から138行目にあるenrichContext関数は、クエリの生JSONボディにパラメータ値を埋め込み、その後JSON.parseを実行します。packages/server/src/api/controllers/query/index.tsの61から71行目にあるvalidateQueryInputsバリデーターはユーザー入力のHandlebarsマーカー({{,})のみを拒否し、JSONメタキャラクター(", \,})のエスケープはできません。終了クオートおよび追加キーを含むパラメータ値によって、攻撃者制御のフィールドが解析済みフィルターオブジェクトに挿入されます。MongoDBのfind関数は解析済みフィルターを直接collection.find()に渡します(packages/server/src/integrations/mongodb.tsの506から510行目)。重複キーを含むJSON解析により、ビルダーの{"name":"..."}は{"name":{"$exists":true}}に上書きされ、全ドキュメントが返されます。同様のプリミティブはupdateManyクエリ(mongodb.tsの577から585行目)に用いられ、フィルターの範囲はコレクション全体に拡大し、ビルダー制御の$setボディは、一致した全ドキュメントに適用されます。packages/server/src/middleware/authorized.tsの141から148行目にある認可ミドルウェアは、クエリロールがPUBLICの場合に処理を中断し、この経路ではCSRF保護が強制されません。POST /api/v2/queries/:queryId(packages/server/src/api/routes/query.tsの63行目)はセッションなしで呼び出しを受け入れ、公開済みアプリURLのx-budibase-app-idヘッダーのみを使用します。この脆弱性はバージョン3.39.12で修正されました。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 9.8 (緊急) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


budibase
  • budibase 3.39.12 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. SQLインジェクション(CWE-89) [その他]
  2. データクエリロジックの特殊要素の不適切な中立化(CWE-943) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-54350
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-54350
更新履歴

  • [2026年07月01日]
      掲載