OpenTSDB の JEXL 式インジェクション脆弱性により認証なしでリモートコード実行が可能
攻撃者は /api/query/exp エンドポイントにサンドボックス分離がない欠陥を悪用し、Java リフレクション呼び出しを含む悪意ある JEXL 式を構築します。構文の正当性のみを確認する検証メカニズムを回避し、Runtime.exec メソッドを呼び出して任意の OS コマンドを実行させます。デフォルト設定では認証が無効になっているため、この脆弱性はネットワーク経由で到達可能かつ権限不要であり、サーバーの完全な侵害、データ漏えい、横方向の移動、サービス停止などの深刻な結果を招きます。
コンポーネント
OpenTSDB は HBase をベースとした分散型時系列データ監視システムで、そのコアアーキテクチャは効率的な時系列データの保存と検索能力に依存しています。RESTful API を通じてデータ収集、クエリ、可視化のインターフェースを提供し、大規模インフラのパフォーマンス監視と分析を支援します。内部には JEXL エンジンを統合し、複雑な動的データ集計と論理演算をサポートして、多次元のリアルタイム監視ニーズに対応します。
種別
Code Injection (CWE-94)
リポジトリ
対処方法
- 厳格な式サンドボックスモードを有効にし、JEXL エンジンによる Java クラスへのアクセスを制限すること。機密 API への不正アクセスを防ぐため、認証を必須化すること。ユーザー入力に対して詳細なコンテンツフィルタリングを行い、危険なクラス名やメソッド呼び出しを含む式を禁止すること。速やかに修正済みバージョンへアップグレードし、最小権限の原則に従ってサービスを展開すること。
RocketMQ ACL 移行コンポーネントの権限解析ロジックの欠陥により不正アクセスのリスク
この脆弱性は RocketMQ の ACL 1.0 から 2.0 への移行過程に存在し、AuthMigrator コンポーネントが旧バージョンの設定を解析する際に重大なロジックエラーがあります。非標準または認識できない権限文字列(ANY やスペルミスなど)に遭遇すると、コードは想定どおりアクセスを拒否するのではなく、デフォルトですべての操作の許可(Action.ALL)および許可決定(Decision.ALLOW)に変換します。攻撃者は複雑な操作なしにこの欠陥を悪用でき、特定の旧バージョン設定ファイルを作成するか既存の異常な設定を利用することで、本来拒否されるべきリソースへの完全なアクセス権を取得し、機密データの不正な読み取りや改ざんを引き起こします。
コンポーネント
Apache RocketMQ は分散型メッセージングミドルウェアで、そのコアアーキテクチャは Broker、NameServer、クライアントコンポーネントで構成され、高スループット・低遅延のメッセージ発行と購読を実現することを目的としています。ACL モジュールによりきめ細かなアクセス制御を提供し、ユーザーごとの Topic および Group リソースへの読み書き権限がセキュリティポリシーに準拠するようにして、エンタープライズ向けメッセージキューの安定稼働とデータ分離を支えています。
種別
Incorrect Authorization (CWE-863)
リポジトリ
対処方法
- 権限解析ロジックを修正し、明確に定義された有効な権限値に対してのみ許可決定を与え、未知または不正な入力はすべて厳格に拒否状態へマッピングすること。これにより最小権限の原則に従い、権限昇格を防止します。