
CVE-2026-74239の概念実証と技術解説書。これは、Windows上のXenForoスタイルアーカイブインポートにおけるパストラバーサル脆弱性であり、細工されたZIPを介したファイル書き込みを可能にします。
XenForo 2.3.13 より前のバージョンは、Windows 上でのスタイルアーカイブインポートにおけるパストラバーサルに対して脆弱です。
インポーターは upload/ 配下の ZIP メンバーを受け入れ、フォワードスラッシュ形式の /../ を含む名前を拒否します。しかし、バックスラッシュを正規化したり拒否したりすることはありません。XenForo はその後、保持されたメンバー名を一時展開ディレクトリに追加します。Windows は ..\ を親ディレクトリへのトラバーサルとして解釈します。
style 権限を持つ非スーパー ACP 管理者は、一時ディレクトリから脱出し、Web サーバーが書き込み可能な別のパスにバイトを書き込むことができます。私の XenForo 2.3.12(ビルド 2031270)テスト環境では、細工されたメンバーが公開 Web ルートに新しい PHP マーカーファイルを書き込みました。それをリクエストすると、定数マーカーが Web サーバーアカウントとして実行されました。
前提条件は、PHP ZIP サポートと委任されたスタイル管理者を備えた Windows デプロイメントです。この実証コードは固定された新しいファイル名を使用し、既存ファイルの上書きを拒否し、コマンド実行を含みません。XenForo 2.3.13 に修正が含まれています。
python poc.py https://xenforo.example LIMITED_STYLE_ADMIN --confirm-write
パスワードは非表示プロンプトで読み取られます。実行後すぐに、テスト Web ルートから style-archive-sentinel.php を削除してください。
発見者: Marco Paciaroni (BomboBombone)。