注目★★★★★GitHub Advisory
dssrf v1.0.3、URL パース前の @ 削除で SSRF 対策が無効化
30秒で把握
- 1dssrf v1.0.3 の SSRF チェック関数で @ 削除タイミングの誤りにより内部 IP チェック回避が可能
- 2URL パース前の前処理で @ を全削除するため、`http://evil.com@10.0.0.1/` 形式で hostname 判定を破損させる
- 3本番環境での利用確認と修正版アップデートまたは代替ツール評価が必須
要約
dssrf v1.0.3 の `is_url_safe` に SSRF バイパス脆弱性が存在する。内部 IP チェック前に `remove_at_symbol_in_string` で @ を削除するため、` のような URL 文字列は @ が消えてホスト名が破損し、IP チェックをすり抜ける。攻撃者は userinfo と host を @ で分離した URL を用いて内部サーバへのアクセスが可能になる。修正は @ 削除を URL パース後に実施するか、パース時の分解結果を直接チェックする設計に変更する必要がある。v1.0.3 を本番運用中の場合は即座にアップデートまたは隔離の検討を推奨する。
あなたへの影響
dssrf で内部 IP へのアクセスを制限している場合、本脆弱性により userinfo 形式の URL 攻撃でバイパスされる可能性があるため。
推奨:現在の運用中のバージョン確認と代替ライブラリの検証を近日中に実施すべき。