Modern Frontend CVEs

対象CVE: CVE-2026-53515

[セキュリティ速報] `@better-auth/sso` における権限昇格の脆弱性(CVE-2026-53515)と対応策

認証ライブラリ`@better-auth/sso`に、一般ユーザーがSSOプロバイダーを不正に設定し、組織に新規ユーザーや最悪の場合は管理者アカウントを追加できてしまう深刻な脆弱性が発見されました。システムへの不正アクセスや情報漏洩のリスクを避けるため、速やかな対応が求められます。

はじめに:なぜフロントエンドエンジニアも関心を持つべきか

皆さん、こんにちは。アプリケーションの認証基盤は、セキュリティの最重要課題の一つです。今回、主にバックエンドや認証システムで利用される`@better-auth/sso`ライブラリにおいて、一般ユーザーがSSO(シングルサインオン)プロバイダーを不正に設定し、組織に新しいユーザーや管理者アカウントを勝手に追加できてしまうという、非常に危険な権限昇格の脆弱性(CVE-2026-53515, 深刻度: High)が報告されました。直接`@better-auth/sso`を利用していなくても、皆さんの開発するフロントエンドアプリケーションが依存するバックエンドサービスや認証基盤がこのライブラリを使用している可能性は十分にあります。認証フローのセキュリティはユーザーの信頼に直結するため、この脆弱性の内容を理解し、適切な対応をチーム内で連携することが重要です。

脆弱性の詳細:何が問題なのか?

この脆弱性は、`@better-auth/sso`のSSOプラグインが提供する`POST /sso/register`エンドポイントに存在します。通常、SSOプロバイダーの登録・更新・削除といった管理操作は、組織の管理者(`owner`または`admin`)のみに許可されるべきです。しかし、この「登録」エンドポイントでは、管理者権限のチェックが欠けていました。結果として、組織のメンバーであれば誰でも、つまり管理者権限を持たない一般ユーザーであっても、OIDCやSAMLといった新しいSSOプロバイダーをその組織に紐付けて登録できてしまう状態になっていました。

これは「権限ミスマッチ(Privilege Mismatch)」の一種で、本来特定の高い権限を持つユーザーにのみ許されるべき操作が、低い権限のユーザーにも許可されてしまうことで発生します。

影響を受ける条件

以下のすべての条件を満たす場合に、この脆弱性の影響を受けます。あなたのプロジェクトのバックエンド担当者やインフラ担当者に確認することをお勧めします。

<ul><li>`@better-auth/sso`のバージョンが`1.2.10`以上`1.6.11`未満、または現在の`next`プレリリース版を使用している。</li><li>`sso()`プラグインと`organization()`プラグインの両方を有効にしている。</li><li>`providersLimit`の設定がデフォルト値(`10`)であるか、ゼロ以外の値でSSOプロバイダー登録が認証済みユーザーに許可されている。</li><li>組織に非管理者のメンバーが存在するか、アプリケーションがユーザーを一般メンバーとして組織に追加できる。</li></ul>

さらに、以下に該当する場合は**最もリスクが高い**ため、特に注意が必要です。

<ul><li>オープンな招待、自己登録、SCIM一括インポートなど、管理者の直接的な承認なしに組織メンバーシップが得られる場合。</li><li>`organizationProvisioning.defaultRole` または `organizationProvisioning.getRole` の設定が、SSO経由でプロビジョニングされるユーザーに `admin` またはそれ以上のロールを返す場合。**この場合、不正に組織の管理者を作成される可能性があります。**</li><li>`domainVerification.enabled` が `false`(デフォルト)の場合、悪意のあるプロバイダーが即座に利用可能になります。</li></ul>

脆弱性がもたらす深刻なリスク

この脆弱性が悪用されると、以下のような非常に深刻なリスクに晒されます。

フロントエンドエンジニアが取るべき対応策

直接`@better-auth/sso`をフロントエンドで利用していなくても、この情報はぜひチーム内のバックエンドエンジニアやインフラ担当者と共有し、迅速な対応を促してください。これは、サービスの信頼性とユーザーデータの安全性を守るために不可欠です。

最も推奨される、そして最も効果的な対応策は、`@better-auth/sso`を**`1.6.11`以降のバージョンにアップグレード**することです。このバージョンでは、プロバイダー作成時にも管理者ロールのチェックが適切に導入され、既存の「取得」「更新」「削除」操作と同じセキュリティレベルが適用されています。

即座のアップグレードが難しい場合は、以下のいずれかの回避策を検討してください。ただし、これらはあくまで一時的な措置であり、最終的にはアップグレードが必要です。

まとめ

認証基盤の脆弱性は、アプリケーション全体にとって非常に大きな脅威となります。今回の`@better-auth/sso`の脆弱性は、一般ユーザーが組織に不正なSSOプロバイダーを登録し、さらには管理者アカウントを勝手に作成できてしまう可能性を秘めています。フロントエンドエンジニアの皆さんも、認証フローやバックエンドとの連携部分に責任を持つ立場として、この情報を真摯に受け止め、チーム内での迅速な情報共有と対応を主導してください。

セキュリティは開発チーム全体の責任です。常に最新の情報をキャッチアップし、安全なアプリケーション開発を心がけましょう。

← ブログ一覧に戻る