概要
Cal.comは、パスワード検証ロジックの欠陥を悪用して、攻撃者がユーザーアカウントへの不正アクセスを可能にする重大な認証バイパスの脆弱性を開示しました。この脆弱性はCVE-2025-66489として追跡されており、CVSS v4スコアは9.3という致命的な評価を受けています。影響を受けるのはCal.comのバージョン5.9.7までであり、ユーザーは直ちにパッチが適用されたバージョン5.9.8にアップデートするよう強く推奨されています。
脆弱性の詳細
この脆弱性は、packages/features/auth/lib/next-auth-options.ts内のauthorize()関数における認証プロバイダーの認証ロジックに存在します。問題の核心は、TOTP(時間ベースワンタイムパスワード)コードが提供された場合に、そのコードが有効であるかどうかに関わらずパスワード検証をスキップするという不適切な条件ロジックにあります。
- CVE ID: CVE-2025-66489
- 脆弱性タイプ: 認証アルゴリズムの不適切な実装による認証バイパス
- 弱点ID: CWE-303
- 深刻度: 致命的 (Critical)
攻撃シナリオ
この脆弱性により、2つの異なる攻撃シナリオが考えられます。
シナリオ1:2FA無効のユーザー
攻撃者は、被害者のメールアドレスと共にtotpCodeフィールドに任意の空でない値を送信することで、パスワードとTOTPの両方の検証をバイパスできます。これにより、2FA(二段階認証)を有効にしていないCal.comユーザーの大半が、最小限の労力でアカウント乗っ取り攻撃の標的となります。
シナリオ2:2FA有効のユーザー
2FAを有効にしているユーザーにも影響はありますが、深刻度は低くなります。TOTPコードが提供された場合、認証システムはパスワード検証を完全にスキップし、TOTPコードのみを検証します。これにより、多要素認証プロセスが実質的に単一要素認証に低下し、保護されるべきアカウントのセキュリティ体制が弱体化します。
不適切なロジックの原因
問題のロジックは認証ファイルの179行目から187行目にあり、コードがユーザーがパスワードハッシュを持っているか、およびTOTPコードが提供されたかどうかをチェックしています。リクエストにtotpCodeが存在すると、条件文がfalseと評価され、verifyPassword関数を使用したパスワード検証ステップが完全にスキップされます。これにより、ユーザーの資格情報が適切に検証されることなく認証フローが進行し、不正アクセスが許容されてしまいます。
この脆弱性は、Cal.comユーザーに深刻なリスクをもたらし、カレンダー、会議リンク、個人データなどの機密情報が露呈する可能性があります。攻撃者はこの欠陥を悪用して、ユーザー列挙、アカウントのなりすまし、特権アカウントへの不正アクセスを行う可能性があります。この問題はセキュリティ研究者のJaydns氏によって報告され、CWE-303(認証アルゴリズムの不適切な実装)に分類されています。
対策と推奨事項
Cal.comは、この致命的なセキュリティ脆弱性に対処するためバージョン5.9.8をリリースしました。影響を受けるバージョンを実行している組織および個々のユーザーは、潜在的な悪用から保護するために、直ちにパッチ適用済みリリースにアップグレードする必要があります。この修正により、認証フローにおけるパスワードとTOTPコードの両方の適切な検証が実装され、多要素認証が設計通りに機能することが保証されます。
