
# XenForo CVE-2026-73318 の概念実証エクスプロイト XenForo CVE-2026-73318 の概念実証エクスプロイト。ACP管理者がサイト全体のポリシー再同意をトリガーできるようにする認可バイパスです。再現手順とPythonスクリプトが含まれています。
XenForo 2.3.13 より前のバージョンでは、任意の ACP 管理者がサイト全体のプライバシーポリシーおよび利用規約への再同意をトリガーできます。
ACP ナビゲーションエントリは option 権限を持つ管理者に限定されていますが、ForceAgreementController はその権限を強制しません。認証済みの任意の ACP 管理者からの直接リクエストは、両方のフォームとその状態変更を行う POST アクションに到達します。
これらのアクションはグローバルなポリシーのタイムスタンプを更新します。記録された同意日時がこれらの値より前のユーザーは、対応する同意ゲートを強制的に通過させられます。このバグにより、権限の限定された管理者がポリシーテキストを編集できるようになるわけではありません。割り当てられた役割の範囲外で、掲示板全体の再同意ワークフローをトリガーできるようになるものです。
私はこれを XenForo 2.3.12(ビルド 2031270)で、無関係な ACP 権限のみを持つ非スーパー管理者を使用して再現しました。このアカウントは Options からは HTTP 403 を受信しましたが、両方の force-agreement ルートからは HTTP 200 を受信しました。XenForo 2.3.13 に修正が含まれています。
python poc.py https://xenforo.example LIMITED_ADMIN --confirm
パスワードは非表示のプロンプトで読み取られます。これにより 2 つのグローバルタイムスタンプが変更されます。隔離された掲示板を使用し、元の値を記録して、テスト後に復元してください。
発見者: Marco Paciaroni (BomboBombone)。