Asayomu Tech
注目★★★★★GitHub Advisory

ArcadeDB のトリガースクリプト、java.lang.* アクセス許可で OS コマンド実行脆弱性

30秒で把握

  • 1ArcadeDB の ScriptTriggerExecutor が java.lang.* パッケージを許可し UPDATE_SCHEMA 権限でコマンド実行 (RCE) 可能
  • 2Java.type() でホスト Runtime アクセス可能・リフレクション拒否リストが機能せず・トリガー作成時に実行
  • 3修正は java.lang.* を許可リストから削除・@HostAccess.Export 明示に置換・トリガー権限を UPDATE_SECURITY に昇格

要約

ArcadeDB の ScriptTriggerExecutor が allowedPackages に java.lang.* を含めており、UPDATE_SCHEMA 権限を持つユーザーが Java.type() でホスト Runtime にアクセスし OS コマンド実行 (RCE) を可能にしている。トリガースクリプト作成時に Java.type() を使って ProcessBuilder や Runtime.exec() を呼び出され、リフレクション拒否リストが java.lang.* ホスト検索をブロックしないため、ユーザーが CREATE TRIGGER で任意スクリプトを実行させるとコマンド実行される。修正は java.lang.* を許可リストから削除し、ホスト相互運用が必要な場合は明示的な @HostAccess.Export API に置き換え、トリガー作成権限を UPDATE_SECURITY に昇格させること。

あなたへの影響

UPDATE_SCHEMA 権限を持つスキーマ管理者が OS コマンド実行可能な状態が放置されているため。

推奨:ArcadeDB を本番環理するチームは最新版への緊急更新を検討し、UPDATE_SCHEMA 権限の付与対象を信頼できるユーザーのみに制限してください。

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

関連する記事

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