複数の SAML ライブラリに認証回避の脆弱性(CVE-2017-11427他)

複数の SAML ライブラリに、サービスプロバイダへの認証が回避される問題が存在するとして JPCERTが緊急報告をしています。この問題は XML DOM トラバーサルおよび正規化を行う API の挙動に起因しており、攻撃者は XML 署名の検証を無効化することなく、SAML データを改ざんすることが可能とのことです。

【影響範囲】

OneLogin - "python-saml" (CVE-2017-11427)
OneLogin - "ruby-saml" (CVE-2017-11428)
Clever - "saml2-js" (CVE-2017-11429)
OmniAuth SAML (CVE-2017-11430)
Shibboleth OpenSAML C++ (CVE-2018-0489)

【想定される影響】

Security Assertion Markup Language (SAML) は主に SSO (Single Sign-On サービス) で使用される、認証や認可を行うための XML ベースのマークアップ言語です。
いくつかの SAML ライブラリでは、XML DOM トラバーサルや正規化の処理を行う API における XML データ中のコメントの扱い方に不整合な点があり、XML 署名検証で XML データの改ざんを検出できない恐れがあります。

その結果、遠隔の攻撃者は、改ざんした SAML メッセージを使って SAML サービスプロバイダの認証を回避することが可能となります。

遠隔の第三者によって、SAML データの内容を XML 署名が無効にならない形で改ざんされ、SAML サービスプロバイダの第一段階の認証を回避される恐れがあります。つまり非正規のユーザーがSSO (Single Sign-On サービス) において異なるユーザーになりすまして認証できる恐れがあるということです。

【対策】

アップデートする
本脆弱性に影響を受ける可能性がある SAML サービスプロバイダの方は、最新版の SAML ライブラリを使用するようにソフトウェアをアップデートしてください。

詳細;CERT/CC

<

『こんな会社が情報漏洩を起こす3つのポイント』セミナー (品川会場/参加費無料) 情報漏洩を起こしてしまった3つの実例を基に有効対策を解説します。