Envoyゲートウェイにおけるパス変数の未エスケープによるトラバーサルインジェクションを起因とするルーティングハイジャックおよびディレクトリトラバーサル
この欠陥は、mcp_json_rest_bridge拡張フィルタが上流リクエストパスを構築する際に、単純なテンプレート変数の置換ロジックがスラッシュおよびドットに対してパーセントエンコードを行わず、かつ書き換え後のパスが直接上流プロトコルヘッダに書き込まれ二次正規化検証をスキップすることに起因する。前段のパスサニタイズ処理が元のリクエストラインにのみ作用するため、認証されていない下流クライアントがJSONツール呼び出しパラメータを介して相対パスシーケンスを注入することでルーティングキャッシュの無効化を引き起こし、ルーティングテーブルの再マッチングを強制できる。攻撃者はこれを利用して事前設定されたアクセス境界を突破し、上流ルーティングルールのバイパスやバックエンドサービスへの意図しないディレクトリ構造の解析誘導を実現でき、このコンポーネントを展開しているネットワークノードはビジネスロジックの改ざんおよび機密リソースの露出リスクにさらされる。
- このようなパストラバーサルの欠陥に対しては、パス結合の段階で厳格な文字ホワイトリスト検証を実施し、ワイルドカードを明示的に宣言していないテンプレート変数に対して単一セグメントマッチングルールを強制適用し、特殊な区切り文字および連続するドットをエスケープまたはブロックする必要がある。また、最終的なパス割り当て前に標準化・正規化処理ロジックを導入し、多層防御戦略と組み合わせて不正なトラバーサルシーケンスを含むリクエストペイロードを拒否することが求められる。
