情報取得日: 2026/06/26/最終確認: 2026/07/23・本ページは公開情報の非公式まとめです
| CVE ID | CVE-2026-54350 |
|---|---|
| 製品 | Budibase / Budibase 3.39.12 より前 |
| CVSS | 10.0(Critical) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N |
| 種別 (CWE) | CWE-89(SQLインジェクション/クエリ構造への注入) |
| 登録/公開日 | 2026/06/26 |
| 出典 | https://nvd.nist.gov/vuln/detail/CVE-2026-54350 |
オープンソースのローコード基盤 Budibase の 3.39.12 より前に、公開済みアプリの未認証の訪問者が、背後のデータストア(MongoDB・CouchDB・Elasticsearch・DynamoDB-PartiQL・JSON ボディを使う REST)の全ドキュメントを読み出せる欠陥がある。作成者が PUBLIC の書き込みクエリを公開していれば、1回の HTTP リクエストで同じコレクションの全ドキュメントを書き換えることもできる。原因はクエリのパラメータ展開にある。enrichContext がパラメータ値をクエリの生の JSON ボディへそのまま埋め込んでから JSON.parse する一方、入力検証は Handlebars の記号({{ と }})だけを拒否し、JSON のメタ文字(" \ })をエスケープしていない。閉じ引用符と追加のキーを含む値を送ると、攻撃者が制御するフィールドが解析後のフィルタオブジェクトに紛れ込む。MongoDB の find ではこのフィルタがそのまま collection.find() に渡り、重複キーの解析によって作成者が意図した条件が {$exists: true} に上書きされて全件が返る。updateMany に対して同じ手口を使うとフィルタの範囲がコレクション全体に広がる。認可ミドルウェアはクエリのロールが PUBLIC のとき短絡し、この経路に CSRF 対策も無い。呼び出しに必要なのは公開アプリの URL から分かる x-budibase-app-id ヘッダーだけで、セッションは要らない。CVSS 3.1 基本値は 10.0(スコープ変化あり)。修正は 3.39.12 で入っている。
各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。
| 環境 | 対応状況 | 対応方法・備考 |
|---|---|---|
| AWS (ECS/EC2) | パッチあり(アプリ更新) |
EC2/ECS/EKS 上の Budibase を 3.39.12 以降へ更新する。更新までは ALB/WAF で /api/v2/queries/ への外部到達を遮断する。
AWS 側の修正は無い(利用者のアプリ更新が対処)。DocumentDB や OpenSearch をバックエンドに使っている場合はそちら側のアクセスログも確認する。
参照リンク
|
| GCP | パッチあり(アプリ更新) |
GCE/GKE 上の Budibase を 3.39.12 以降へ更新する。更新までは Cloud Armor で該当エンドポイントへの到達元を絞る。
GCP 側に修正パッチは無い。
参照リンク
|
| Azure | パッチあり(アプリ更新) |
VM/AKS 上の Budibase を 3.39.12 以降へ更新する。Application Gateway/WAF で該当エンドポイントを遮断する。
Azure 側に修正パッチは無い。
参照リンク
|
| Linux | パッチあり(アプリ更新) |
Docker イメージまたはソースから導入した Budibase を 3.39.12 以降へ更新する。
ディストリのパッケージ管理では配布されない。公式のイメージ/リリースを使う。
参照リンク
|
確認できた公式情報に基づく環境別の対応手順です。実施前に必ず一次情報と自環境で検証してください。
Budibase を自前で運用している場合は、まずバージョンを確認して 3.39.12 以降へ更新する。更新できるまでの間は、公開(published)状態のアプリを止めるか、PUBLIC ロールのクエリを非公開に切り替えて到達経路を塞ぐ。読み出しだけなら被害は情報漏えいに留まるが、PUBLIC の書き込みクエリがあるとコレクション全体の改ざんに至るため、そこを先に落とすのが効果的である。攻撃には公開アプリの URL から得られる ID しか要らないので、社内限定のつもりで公開していたアプリも対象になる。更新後は、影響期間中に不審な大量読み出しや updateMany 相当の更新が起きていないかをデータストア側のログで確認する。個人情報や資格情報をローコードアプリの背後に置いている場合は、漏えい前提での対応(該当データの棚卸しと必要な通知の検討)も並行して進める。
Critical(CVSS 10.0)に分類されるBudibase Budibase 3.39.12 より前の脆弱性です。オープンソースのローコード基盤 Budibase の 3.39.12 より前に、公開済みアプリの未認証の訪問者が、背後のデータストア(MongoDB・CouchDB・Elasticsearch・DynamoDB-PartiQL・JSON ボディを使う REST)の全ドキュメントを読み出せる欠陥がある。作成者が PUBLIC の書き込みクエリを公開していれば、1回の HTTP リクエストで同じコレクションの全ドキュメントを書き換えることもできる。原因はクエリのパラメータ展開にある。enrichContext がパラメータ値をクエリの生の JSON ボディへそのまま埋め込んでから JSON.parse する一方、入力検証は Handlebars の記号({{ と }})だけを拒否し、JSON のメタ文字(" \ })をエスケープしていない。閉じ引用符と追加のキーを含む値を送ると、攻撃者が制御するフィールドが解析後のフィルタオブジェクトに紛れ込む。MongoDB の find ではこのフィルタがそのまま collection.find() に渡り、重複キーの解析によって作成者が意図した条件が {$exists: true} に上書きされて全件が返る。updateMany に対して同じ手口を使うとフィルタの範囲がコレクション全体に広がる。認可ミドルウェアはクエリのロールが PUBLIC のとき短絡し、この経路に CSRF 対策も無い。呼び出しに必要なのは公開アプリの URL から分かる x-budibase-app-id ヘッダーだけで、セッションは要らない。CVSS 3.1 基本値は 10.0(スコープ変化あり)。修正は 3.39.12 で入っている。
Budibase を自前で運用している場合は、まずバージョンを確認して 3.39.12 以降へ更新する。更新できるまでの間は、公開(published)状態のアプリを止めるか、PUBLIC ロールのクエリを非公開に切り替えて到達経路を塞ぐ。読み出しだけなら被害は情報漏えいに留まるが、PUBLIC の書き込みクエリがあるとコレクション全体の改ざんに至るため、そこを先に落とすのが効果的である。攻撃には公開アプリの URL から得られる ID しか要らないので、社内限定のつもりで公開していたアプリも対象になる。更新後は、影響期間中に不審な大量読み出しや updateMany 相当の更新が起きていないかをデータストア側のログで確認する。個人情報や資格情報をローコードアプリの背後に置いている場合は、漏えい前提での対応(該当データの棚卸しと必要な通知の検討)も並行して進める。
Budibase Budibase 3.39.12 より前 を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2026-54350)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。
本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください(最終確認: 2026/07/23)。