これは CVE-2023-32681 の Python 3 実装であり、requests バージョン 2.30.0 以下を使用するクライアントに影響を与えます。
https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4 に従い、サーバーが 3xx リダイレクトを発行する場合、ユーザーエージェントはリクエストを変更し、特定のヘッダーとフィールドをリクエストから削除する必要があります。
これらのフィールドの詳細は https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4-5 にあります。この CVE に関連する部分を以下に強調表示しました。

requests バージョン 2.30.0 以下では、"https" へのリダイレクトの処理中に "Proxy-Authorization" ヘッダーが削除されず、その結果、リダイレクト先のサーバーにプロキシ認証情報が漏洩していました。
詳細は以下を参照してください。
/redirect ルートを定義し、トラフィックを 4431 で動作している 2 番目のサーバーにリダイレクトします。/echoHeaders ルートを定義します。このルートは、リクエストで受信したヘッダーをクライアントに返します。Proxy-Authorization ヘッダーが含まれている場合、その requests バージョンは "CVE-2023-32681" に対して脆弱であるとされます。server/main.go 内の certFile と keyFile 変数を更新します。go run server/main.go コマンドを実行して HTTP(S) サーバーを起動します。これにより、ポート 443 と 4431 で待受する 2 つのサーバーが起動します。go run proxy/main.go コマンドを実行してプロキシサーバーを起動します。これにより、ポート 8080 でプロキシサーバーが起動します。pip3 install -r script/requirements_request_2_30_0.txtpython3 script/poc.py を実行して POC スクリプトを実行し、出力を確認します。サーバーがレスポンスで "Proxy-Authorization" ヘッダーを返していることがわかります。サーバーは受信したヘッダーをログにも出力します。pip3 install -r script/requirements_request_2_31_0.txt を実行します。python3 script/poc.py を実行して POC スクリプトを実行し、出力を確認します。サーバーのレスポンスに "Proxy-Authorization" ヘッダーが含まれていないことがわかります。これはサーバーログでも確認できます。
