
KaitenにおけるPINベースの認証バイパスの脆弱性
Kaiten - ワークフロー管理システム。 Kaiten の脆弱性により、攻撃者は PIN コード認証機構をバイパスできます。このアプリケーションは、ログイン認証情報を入力した後、ユーザーにメールで送信された 6 桁の PIN コードの入力を要求します。しかし、リクエスト制限機構は簡単にバイパスでき、攻撃者はブルートフォース攻撃で正しい PIN を推測し、アプリケーションへの不正アクセスを獲得できます。
詳細:
認証機構はメールで送信される 1 要素のみを使用し、パスワードはありません :)
レート制限のバイパスは X-Forwarded-For ヘッダーを使用することで実現でき、X-RateLimit-Remaining カウンターがリセットされます。

この方法により、通常複数回の試行後に発生する HTTP 429 Too Many Requests レスポンスを受け取らずにリクエストを続行できます。

また、新しい PIN コードを要求する制限もないため、攻撃者はブルートフォース攻撃で PIN コードを推測できます。PIN コードの有効期限は 5 分間で、攻撃者は 5 分間の間に 6 桁の PIN コードを推測しようと試みます。 ~150 RPS で攻撃者は約 45,000 の PIN コードを試行できます。すべての試行後、数学的な計算により、成功確率 50% は 33 分で達成でき、100% は 4 時間で達成できます。
脆弱なバージョン:
<= 57.131.12
リンク:
シンプルな bash スクリプトをダウンロードし、選択したユーザー名(ログインのみ、メールアドレス不可)で実行します。
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
結果: 成功結果 => 後続の使用に有効なクッキーを取得
