注目★★★★★GitHub Advisory
ArcadeDB、14 の HTTP ハンドラで認可チェック回避・他ユーザーのデータベースにアクセス可能
30秒で把握
- 1ArcadeDB の 14 HTTP ハンドラが権限チェック欠落・認可外データベースへのアクセス許可
- 2/ts/*, /batch/*, Prometheus/Grafana エンドポイント経由で読み書き可能・/command エンドポイントは正常に 403
- 3ハンドラの再配置と resolveAuthorizedDatabase() チェックポイント追加で修正・ログ監査で被害確認を検討
要約
ArcadeDB の 14 の HTTP ハンドラ (/ts/*, /batch/*, Prometheus/Grafana エンドポイント等) が、ユーザーの権限確認なくデータベースを取得する脆弱性が存在する。認可されたデータベース 'a' のみを持つユーザーが、POST /api/v1/batch/b や GET /api/v1/ts/b/query を呼び出すと、未認可のデータベース 'b' への読み書きが可能になる。これらハンドラが DatabaseAbstractHandler ではなく AbstractServerHttpHandler を直接継承し、canAccessToDatabase() 権限チェックと engine principal 設定が欠落しているのが原因。修正は該当ハンドラを DatabaseAbstractHandler に再配置するか、共有の resolveAuthorizedDatabase() チェックポイントを追加する必要がある。
あなたへの影響
ArcadeDB を運用するチームは直ちに本番環境のバージョンを確認し、修正版へのアップデート予定をセキュリティチームと立てるべき。
推奨:影響を受けた 14 エンドポイント (/ts/*, /batch/*, Prometheus/Grafana ハンドラ) の利用ログで、データベース間のアクセス試行がないか監査することを推奨。