概要
3.0.5 未満のバージョンに影響する脆弱性が発見されました。passport-wsfed-saml2 は、Passport.js 向けの WS-Federation プロトコルおよび SAML2 トークンの認証プロバイダーです。
この脆弱性により、 が SAML レスポンス全体ではなく、レスポンス内のアサーションのみに署名している場合、攻撃者は別のユーザーになりすまし、権限を昇格できる可能性があります。
この脆弱性の悪用に成功した攻撃者は、そのレスポンスを使って異なる NameIdentifier を含むリクエストを細工し、別のユーザーとしてログインできる可能性があります。また、管理者権限を持つ特定のユーザーとして認証できれば、権限昇格攻撃を実行することも可能です。攻撃者は、既存のアカウントを持っているか、暗号化されたトラフィックを傍受して SAML レスポンスをその場で改ざんできる必要があります。
この更新では、Assertion 要素および Response 要素に対するラッピング攻撃を回避し、XPath 式にも防御的な変更を加えることで、この脆弱性に対処しています。さらに、SAML レスポンスの署名に関する情報の記録方法を改善する更新も実装されています。
この脆弱性の修正には、ライブラリのアップグレードが必要です。
影響を受けますか?
- SAML レスポンスとアサーションの両方に署名している
- SAML レスポンスには署名せず、アサーションには署名している
この問題を修正するには?
3.0.5 にアップグレードする必要があります。
更新済みのパッケージは npm で利用できます。今後提供される追加のバグ修正を確実に受け取れるよう、package.json ファイルを更新して、当社ライブラリのパッチおよびマイナーアップデートを取り込むようにしてください。