注目★★★★★GitHub Advisory
Angular SSRでSSRF、認証情報が外部へ漏れる脆弱性
30秒で把握
- 1Angular SSRのURL解決差異で同一オリジン検査を回避
- 2SSRFによりAuthorizationなどサーバー側認証情報が漏えい
- 3U+00A0などの先頭Unicode空白を検証前に拒否
要約
Angular SSRのURL解決差異により、同一オリジン検査を回避したSSRFとサーバー側認証情報の漏えいが発生する。WHATWG URL解析ではU+00A0などのUnicode空白が相対パスとして扱われる一方、AngularのURL解決処理はtrim()で空白を除去し、攻撃者の外部オリジンを示すプロトコル相対URLへ変換した。ユーザー入力がHttpClientのURLに影響し、認証情報を付与するSSRアプリケーションが影響を受ける。入力URLの先頭Unicode空白を検証・除去し、new URL(...).originだけに依存しない対策が必要になる。
あなたへの影響
Angular SSRでユーザー入力をリクエストURLに使う日本の開発チームは、近日中に影響条件を確認し、先頭Unicode空白の拒否と依存パッケージの修正状況を確認してください。
推奨:URL検証と実際の送信処理で空白正規化が異なると、同一オリジン判定の抜け道につながり得ます。