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

概要

passport-wsfed-saml2 library3.0.5 未満のバージョンに影響する脆弱性が発見されました。passport-wsfed-saml2 は、Passport.js 向けの WS-Federation プロトコルおよび SAML2 トークンの認証プロバイダーです。 この脆弱性により、 が SAML レスポンス全体ではなく、レスポンス内のアサーションのみに署名している場合、攻撃者は別のユーザーになりすまし、権限を昇格できる可能性があります。 この脆弱性の悪用に成功した攻撃者は、そのレスポンスを使って異なる NameIdentifier を含むリクエストを細工し、別のユーザーとしてログインできる可能性があります。また、管理者権限を持つ特定のユーザーとして認証できれば、権限昇格攻撃を実行することも可能です。攻撃者は、既存のアカウントを持っているか、暗号化されたトラフィックを傍受して SAML レスポンスをその場で改ざんできる必要があります。 この更新では、Assertion 要素および Response 要素に対するラッピング攻撃を回避し、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"
  }
}

この更新はユーザーに影響しますか?

いいえ。この修正はアプリケーションで実行されているライブラリにパッチを適用するものですが、ユーザー、現在のstate、既存のセッションには影響しません。