vBulletinに存在する認証前のリモートコード実行の重大な脆弱性(CVE-2026-61511として追跡)により、認証を受けていない攻撃者が脆弱なフォーラムサーバー上で任意のPHPコードを実行できる可能性があることが分かりました。
Softwarevulnerability database
SSD Secure Disclosureが2026年7月27日付で公開した情報によると、この問題はvBulletinバージョン6.2.1以前および6.1.6以前に影響します。
この脆弱性が悪用された場合、リモートの攻撃者がWebアプリケーションのコンテキストを掌握し、データ窃取、サイト改ざん、マルウェア展開、あるいは基盤となるサーバーのさらなる侵害につながる恐れがあります。
vBulletinの認証前RCE脆弱性
この欠陥は`/includes/vb5/template/runtime.php`ファイル内、特に`vB5_Template_Runtime::runMaths()`メソッドに存在します。この関数は、vBulletinの`{vb:math}`テンプレートタグで使用される値を処理します。
アプリケーションは、指定された式を評価する前に、安全でない文字を除去することを意図した正規表現を適用します。しかし、このフィルタリングロジックは数字、括弧、算術演算子、二項演算子、連結文字、そして注目すべきことにXOR演算子まで残してしまいます。サニタイズされた文字列はその後PHPの`eval()`関数に渡され、PHPコードとして実行されます。
SSD Disclosureによると、この組み合わせにより「phpfuck」と呼ばれる手法の使用が可能になります。これは、制限された文字集合からPHP関数やペイロードを構築するコード生成手法です。
攻撃者は直接的なPHP構文を挿入する代わりに、数値、連結、ビット演算を用いて実行可能な式を作成し、アプリケーションのフィルタリングルールを回避できます。
その結果生成されたペイロードは`runMaths()`内の`eval()`呼び出しに到達し、テンプレート式機能を事実上サーバー側のコード実行脆弱性へと変えてしまいます。
管理者がテンプレートやスタイルを編集し、細工した`{vb:math}`タグを挿入することでこの脆弱な経路を発動させることは可能ですが、認証なしでより深刻な攻撃が発生する可能性もあります。
公開された調査結果によると、攻撃者は`ajax/render/[template]`ルートを悪用し、ユーザーが制御可能な入力を含む`{vb:math}`式を持つテンプレートをレンダリングできます。
一例として`pagenav`テンプレートが挙げられます。ここでは`pagenav[pagenumber]`パラメータが`pagenav.currentpage`変数に代入され、後にページ番号を計算する数式内で使用されます。
ページ番号パラメータを通じて悪意ある値を渡すことで、攻撃者は`runMaths()`に送られる式、ひいてはPHPの`eval()`操作に影響を及ぼすことができます。
公開情報で参照されている概念実証では、`ajax/render/pagenav`エンドポイントを通じた対話型のコマンド実行の流れが示されています。
組織は、影響を受けるバージョンがインターネット経由でアクセス可能な場合、特に一般公開されているvBulletin環境を潜在的に脆弱なものとして扱うべきです。
管理者は、vBulletinバージョン6.2.2へのアップグレード、またはサポート対象バージョンである6.2.1、6.2.0、6.1.6向けにベンダーが提供するセキュリティパッチの適用を強く推奨されます。
SecurityProducts & Services
防御側は、`routestring=ajax/render/pagenav`を含む不審なPOSTリクエスト、異常に長い`pagenav[pagenumber]`値、演算子を多用したエンコード済みペイロード、Webサービスアカウントによる予期しないコマンド実行がないか、Webサーバーおよびvbulletinのログを確認することも重要です。
CVE-2026-61511は認証前に悪用可能な性質を持つため、境界防御や管理者アクセス制限だけに頼るのではなく、パッチ適用を優先すべきです。
ALERT: 20を超える政府系サイトが、企業や市民にマルウェアを配布していました。 攻撃に関する詳細な調査結果を確認し 自組織の露出状況をチェックしてください。
翻訳元: https://gbhackers.com/vbulletin-pre-auth-rce-flaw/