概要
HTTPクライアントのビルド失敗時、内部エラーの詳細が ClientError::JwksFetch のペイロードを通じてクライアントへ返却されています。
問題箇所
ファイル: src/presentation/extractor/claims.rs (Line 171)
.map_err(|e| ClientError::JwksFetch(format!("failed to build HTTP client: {e}")))?;
IntoResponse の実装により、ClientError::JwksFetch に格納した文字列はレスポンスの error_description フィールドにそのまま含まれてしまいます。内部エラーの詳細(スタックトレースや設定情報など)が外部に漏洩するリスクがあります。
修正方針
- クライアントへ返すメッセージは固定文言に変更する
- 内部エラーの詳細はサーバー側のログ(
tracing 等)でのみ記録する
-.map_err(|e| ClientError::JwksFetch(format!("failed to build HTTP client: {e}")))?;
+.map_err(|_| ClientError::JwksFetch("failed to build HTTP client".to_string()))?;
関連リンク
Requested by @hiterm
概要
HTTPクライアントのビルド失敗時、内部エラーの詳細が
ClientError::JwksFetchのペイロードを通じてクライアントへ返却されています。問題箇所
ファイル:
src/presentation/extractor/claims.rs(Line 171)IntoResponseの実装により、ClientError::JwksFetchに格納した文字列はレスポンスのerror_descriptionフィールドにそのまま含まれてしまいます。内部エラーの詳細(スタックトレースや設定情報など)が外部に漏洩するリスクがあります。修正方針
tracing等)でのみ記録する関連リンク