GitHub Uncovers New ruby-saml Vulnerabilities Allowing Account Takeover Attacks
2025/03/13 TheHackerNews — オープンソースの ruby-saml ライブラリに、深刻大度の高いセキュリティ上の2つの脆弱性が発見された。これらの脆弱性の悪用に成功した攻撃者は、Security Assertion Markup Language (SAML) 認証プロテクションを回避する可能性を手にする。
SAML は、認証/承認データを当事者間で交換するために使用される、XML ベースのプロトコルであり、SSO (single sign-on) などの機能のために用いられる。この SAML により、それぞれのユーザーは、1セットの認証情報を使用して、複数のサイト/サービス/アプリなどにアクセスできるようになる。

今回のアップデートで対応されたのは、脆弱性 CVE-2025-25291 (CVSS:8.8) と、脆弱性 CVE-2025-25292 (CVSS:8.8) であり、ruby-saml ライブラリの以下のバージョンに影響を及ぼす。
- < 1.12.4
- >= 1.13.0, < 1.18.0
これらの脆弱性は、REXML と Nokogiri が、それぞれの方法で XML を解析することに起因している、その結果として、2つのパーサーが、同じ XML 入力から異なるドキュメント構造を生成してしまう。このパーサーの違いを悪用する攻撃者は、署名ラッピング攻撃を実行し、認証バイパスを達成するという。
すでに ruby-saml プロジェクトは、バージョン 1.12.4/1.18.0 をリリースし、これらの脆弱性に対処している。
2024年11月の時点で、この脆弱性を発見/報告した GitHub は、アカウント乗っ取り攻撃を実行する攻撃者に、悪用される可能性があると述べている。
GitHub Security Lab の研究者である Peter Stockli は、「攻撃の前提として、標的組織の SAML レスポンス/アサーションを検証するキーで作成された、有効な署名が必要となるが、それを所有する攻撃者であれば、SAML アサーションを自身で構築し、任意のユーザーとしてログインできる」と述べている。

さらに GitHub は、「この問題は、ハッシュの検証と、署名の検証の “切断” に帰着し、パーサー差分による悪用につながる可能性がある」と指摘している。
なお、最新のバージョン 1.12.4 /1.18.0 では、圧縮された SAML レスポンス処理に存在する 脆弱性 CVE-2025-25293 (CVSS:7.7) も対処され、リモート・サービス拒否 (DoS) の問題が緩和されている。
ユーザーに対して強く推奨されるのは、最新バージョンへと速やかに更新し、潜在的な脅威から自身を保護することだ。
昨年には GitLab と ruby-saml が、認証バイパスにつながる可能性のある、深刻な脆弱性 CVE-2024-45409 (CVSS:10.0) に対処している。それから6ヶ月が経ち、今回の脆弱性が発表された。
このブログでも度々登場する SAML 認証バイパスの脆弱性ですが、悪用されると、アカウント乗っ取りを始め、様々な深刻なリスクを引き起こす可能性があります。ご利用のチームは、十分にご注意下さい。なお、ruby-saml を使用している GitLab も、CVE-2025-25291/25292 などを修正したセキュリティ・アップデートがリリースされています。よろしければ、以下の関連記事も、SAML で検索と併せて、ご参照下さい。
2025/03/12:GitLab の脆弱性 CVE-2025-25291/25292 などが FIX
2024/09/25:GitLab の脆弱性 CVE-2024-45409:セキュリティ修正
2024/10/06:Ruby-SAML/GitLab の脆弱性 CVE-2024-45409 が FIX
You must be logged in to post a comment.