http-proxy-middlewareはNode.jsのhttp-proxyミドルウェアです。バージョン3.0.4から3.0.7および4.1.1まで、fixRequestBody()はボディパーサーによって既に消費されたリクエストボディを再送信するためのライブラリのドキュメント化されたヘルパーです。送信されるContent-Typeがmultipart/form-dataの場合、handlerFormDataBodyData()を使ってボディを再構築しますが、これは各req.bodyのキーと値をCR/LFを無効化せずにマルチパートのワイヤ形式に直接埋め込みます。値(またはキー)内の\r\nは攻撃者に現在のパートを閉じ、新しいフォームパートを完全に注入させることを可能にします。プロキシ自身のボディパーサーは単一の不透明な値を認識したため、ゲートウェイ側でreq.bodyに対して行われるポリシーや検証はアップストリームのバックエンドが最終的に解析するフィールドセットとは異なり、信頼境界を越えたリクエストやパラメータの非同期化が発生します。この脆弱性はバージョン3.0.7および4.1.1で修正されています。
|