vBulletin の脆弱性 CVE-2026-61511 が FIX:認証前の RCE による PHP コード実行の恐れ

vBulletin Pre-Auth RCE Flaw Allows Remote PHP Code Execution

2026/07/27 gbhackers — vBulletin の深刻な脆弱性 CVE-2026-61511 を悪用する未認証のリモート攻撃者が、脆弱なフォーラム・サーバ上で任意の PHP コードを実行する可能性がある。2026年7月27日に SSD Secure Disclosure が公開した情報によると、この問題は vBulletin バージョン 6.2.1 以下と 6.1.6 以下に影響を及ぼす。

この脆弱性の悪用に成功したリモート攻撃者は、Web アプリケーションのコンテキストを制御する可能性がある。その結果として、データ窃取/サイト改竄/マルウェア展開/基盤サーバのさらなる侵害などにつながる恐れがある。

vBulletin の認証前 RCE 欠陥

この欠陥は、/includes/vb5/template/runtime.php ファイル内の vB5_Template_Runtime::runMaths() メソッドに存在する。この関数は、vBulletin の {vb:math} template tag で使用される値を処理する。

提供された式を評価する前に、アプリケーションは安全ではない文字を削除することを目的とした正規表現を適用する。しかし、このフィルタリング・ロジックは、数字/括弧/算術演算子/バイナリ演算子/連結文字/XOR 演算子を保持する。その後に、サニタイズされた文字列は PHP の eval() 関数へ渡され、PHP コードとして実行される。

SSD Disclosure によると、この組み合わせにより、”phpfuck” 技法の使用が可能になる。これは、制限された文字セットから PHP 関数とペイロードを構築するコード生成手法である。攻撃者は、直接的な PHP 構文を挿入する代わりに、数値/連結/ビット演算などを悪用して実行可能な式を作成し、アプリケーションのフィルタリング・ルールをバイパスできる。

その結果、ペイロードは runMaths() 内の eval() 呼び出しへ到達する。つまり、テンプレート式の機能が、サーバ・サイドのコード実行の脆弱性へ変容する。管理者が template または style を編集し、細工した {vb:math} tag を挿入することで、脆弱なコード実行経路が成立する。しかし、より深刻な攻撃は認証なしで発生し得る。

開示された研究によると、攻撃者は ajax/render/[template] 経路を悪用し、ユーザー制御入力を取り込んだ {vb:math} 式を持つテンプレートをレンダリングできる。その一例として、pagenav テンプレートがある。このテンプレートでは、pagenav[pagenumber] パラメータが pagenav.currentpage 変数に割り当てられ、その後に、ページ番号を計算する数式で使用される。

したがって page-number パラメータを通じて悪意の値を供給する攻撃者は、runMaths() へ送られる式に影響を及ぼし、最終的に PHP の eval() 操作に影響を与えることが可能となる。

この開示で参照された Proof of Concept は、ajax/render/pagenav エンドポイントを通じた、対話型のコマンド実行ワークフローを実証している。


ユーザー組織にとって必要なことは、特に影響を受けるバージョンがインターネット経由でアクセス可能な場合において、公開されている vBulletin デプロイメントを潜在的に脆弱なものとして扱うことだ。

管理者に対して強く推奨されるのは、vBulletin バージョン 6.2.2 へとアップグレードするか、サポート対象バージョンである 6.2.1/6.2.0/6.1.6 に対するベンダーのセキュリティ・パッチを適用することだ。

さらに、防御側として Web サーバと vBulletin のログで確認すべきは、routestring=ajax/render/pagenav を含む不審な POST リクエスト/異常に長い pagenav[pagenumber] 値/エンコードされた算術処理の多いペイロード/Web サービス・アカウントによる予期しないコマンド実行の有無となる。

脆弱性 CVE-2026-61511 は認証前の悪用が可能であるため、境界防御や管理者アクセス制限だけに依存するのではなく、パッチ適用を優先すべきである。