メインコンテンツへスキップ
公開日 :2017年12月22日 CVE番号 :CVE-2017-16897 著者 :Alan Bishop

概要

バージョン3.0.5よりも以前のpassport-wsfed-saml2ライブラリーに脆弱性が発見されました。passport-wsfed-saml2 はWS-Federationプロトコルで、Passport.jsのSAML2トークン認証プロバイダーです。 IDプロバイダーがSAML応答の全体に署名しないで、応答に含まれるアサーションだけに署名する場合、この脆弱性によって、攻撃者は別のユーザーになりすまし、権限を昇格できる可能性があります。 この脆弱性を悪用する攻撃者は、その応答を使って別のNameIdentifier で要求を作成し、ユーザーになりすましてログインできる可能性があります。また、悪意のある行為者が管理者権限を持つ特定のユーザーとして認証した場合には、権限を昇格することもできます。攻撃者は既存のアカウントを持っているか、暗号化されたトラフィックを傍受して、SAML応答をその場で書き換えることができなければなりません。 この更新は、アサーション応答 の要素を対象としたラッピング攻撃を回避すると同時に、XPath表現にいくつかの防御的な変更を提供することによって、脆弱性に対処します。また、SAML応答の署名に関する情報をログに記録する方法の改善も実装されています。 この脆弱性を修正するには、ライブラリーのアップグレードが必要です。

自分は影響を受けますか?

この脆弱性の影響を受けるのは、SAMLP IDプロバイダー接続 を使用しているクラウドテナントで、IDプロバイダーが以下を行った場合です。
  • SAML応答の署名とアサーションの署名を行った
  • SAML応答に署名しないで、アサーションに署名した
Auth0のクラウドテナントには対処は必要ありません。 また、脆弱性の範囲がpassport.jsを使用しているpassport-wsfed-saml2ストラテジーのユーザーまでに拡大されており、ライブラリーのアップグレードが必要です(次のセクションを参照してください)。

修正方法

passport-wsfed-saml2 ライブラリーを使用している開発者は、最新バージョンにアップグレードしてください:3.0.5 更新されたパッケージはnpmで入手できます。今後の追加のバグ修正を確実に受け取るために、ライブラリーのパッチとマイナーレベルの更新が適用されるようpackage.jsonファイルが更新されていることを確認してください。
{
  "dependencies": {
    "passport-wsfed-saml2": "^3.0.5"
  }
}

この更新はユーザーに影響を与えますか?

いいえ。この修正によりアプリケーションが実行するライブラリーにパッチが適用されますが、ユーザーとその現在のステータス、既存のセッションには影響はありません。
I