Asayomu Tech
注目★★★★★GitHub Advisory

ArcadeDB、SQL の DEFINE FUNCTION で認可を迂回・任意 JS 実行可能

30秒で把握

  • 1ArcadeDB で SQL DEFINE FUNCTION が権限チェック回避・読み取り専用ユーザが JS 実行可能
  • 2POST /api/v1/command で任意 JS コード送信可能・SSRF と DoS 攻撃に発展リスク
  • 3DefineFunctionStatement と SQLQueryEngine に UPDATE_SECURITY 権限ゲート追加・IOAccess.NONE を設定で修正

要約

ArcadeDB の GHSA-48qw-824m-86pr セキュリティ対策が SQL ルート経由で迂回され、読み取り専用ロール含む DB アクセス権を持つユーザが任意の JavaScript を実行できる脆弱性が判明した。DEFINE FUNCTION 文で js 言語を指定すると checkPermissionsOnDatabase(UPDATE_SECURITY) ゲートをバイパスし、IOAccess.ALL により SSRF と CPU/メモリ枯渇攻撃が可能になる。DefineFunctionStatement と SQLQueryEngine の関数呼び出し経路に UPDATE_SECURITY 権限チェックを追加し、GraalPolyglotEngine に IOAccess.NONE / PolyglotAccess.NONE を設定する修正が必要。

あなたへの影響

ArcadeDB を本番環境で運用するチームは、当該脆弱性の有無をバージョン確認し修正版へのアップデートを検討すべき。

推奨:既存の DEFINE FUNCTION ステートメントログから無権限実行痕跡の監査も推奨される。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。