Fiber Adminに認証不要のコード実行脆弱性、修正版あり
WordPressプラグインFiber Adminに、認証なしで任意のコードを実行されるおそれのある脆弱性が見つかりました。3.1.0〜4.0.0を使うサイトは4.0.1へ更新し、カスタムのデータベースエラーページの設定も確認してください。
急ぎ度: 早めに
CVSS v3は9.0で認証不要のコード実行ですが、悪用にはカスタムのデータベースエラーページの有効化と競合への勝利が必要で、修正版4.0.1がすでにあるため、早めの更新が妥当です。
関係があるか
WordPressでFiber Adminの3.1.0以上4.0.1未満を入れている組織が対象です。カスタムのデータベースエラーページを有効にしているサイトは、とくに優先して確認してください。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Fiber Admin(WordPressプラグイン) | 3.1.0以上4.0.1未満(3.1.0〜4.0.0) | 4.0.1 |
確かめ方
- 1WordPressの管理画面でプラグインの一覧を開き、Fiber Adminの版が3.1.0〜4.0.0に入っていないか見る。
- 2WP-CLIが使える環境では、
wp plugin get fiber-admin --field=versionで版を確認する。 - 3Fiber Adminの設定画面で、カスタムのデータベースエラーページが有効になっているかを確認する。
- 4本番だけでなく、ステージングや検証用、別ドメインのサイトにも同じプラグインが入っていないか洗い出す。
何が起きたか
Fiber Adminに、外部の第三者が認証なしでサイト上のコードを実行できてしまう脆弱性があります。
このプラグインは、管理用のフックを通じてPHPファイルを再生成します。その際、リクエストヘッダーの値を検証もエスケープもせずにファイルへ書き込みます。タイトルによると、問題になるのはHostヘッダーです。外部から来た値がコードとして読み込まれる形になるため、CWE-94(コードインジェクション)に分類されています。
WPScanは2026年11月5日にこの脆弱性を公開し、CVEは11月7日に公表されました。発見者はNaoki Kawahigashi氏で、4.0.1で修正されています。
攻撃の流れ
-
1
条件を満たすサイト
Fiber Adminの3.1.0〜4.0.0で、カスタムのデータベースエラーページが有効になっている。
-
2
未認証で到達
ログインしていない外部の第三者が、保護されていない管理用フックにリクエストを送る。
-
3
ヘッダー値の混入
検証されないリクエストヘッダーの値が、再生成されるPHPファイルに書き込まれる。
-
4
管理者の保存と競合
管理者が設定を保存するタイミングとの競合に勝つと、細工した内容がファイルに残る。
-
5
任意のコード実行
そのファイルが読み込まれ、サーバー上でコードが実行される。
どう悪用されるか
ログインは不要で、ネットワーク越しに攻撃でき、サイトの利用者や管理者の操作も要りません。ただし条件が二つあります。カスタムのデータベースエラーページが有効なこと、そして攻撃者が管理者による設定保存との競合に勝つことです。このためCVSSでは攻撃の複雑さが高と評価されています。
条件がそろって悪用されると、Webサーバー上で任意のコードを実行されます。機密性・完全性・可用性への影響はいずれも高で、影響範囲もプラグイン単体を超えて広がりうると評価されています。サイトの改ざん、保存データの閲覧、同じサーバー上のほかの環境への足がかりにされることが想定されます。
今すぐやること
-
1
使っている版を確認する
Fiber Adminが3.1.0〜4.0.0に当たるかを、サイトごとに洗い出します。複数のサイトを運用している場合は、一覧にして漏れを防ぎます。
wp plugin get fiber-admin --field=version -
2
4.0.1に更新する
バックアップを取ったうえで、Fiber Adminを修正版の4.0.1に更新します。カスタムのデータベースエラーページを有効にしているサイトを先に進めてください。
-
3
侵害の跡がないか調べる
3.1.0〜4.0.0を動かしていた期間があるサイトでは、プラグインが再生成するPHPファイルに見覚えのない記述がないかを確認します。あわせて、不審なファイルや管理者アカウントの追加がないか、アクセスログにHostヘッダーが想定外の値のリクエストがないかも見ます。
-
4
ベンダーの告知を確認する
プラグインの配布ページと、WPScanの該当ページで、更新内容や追加の案内が出ていないかを確認します。
すぐ更新できないとき
すぐに4.0.1へ更新できない場合は、更新できるまでFiber Adminを停止します。カスタムのデータベースエラーページを無効にすれば悪用条件の一つは外れますが、公式の回避策としては案内されていません。確実性ではプラグインの停止が上です。
背景
Fiber AdminはWordPressのプラグインで、カスタムのデータベースエラーページを使える機能があります。この機能は設定を保存するたびにPHPファイルを再生成しています。設定値をコードとしてファイルに書き出す仕組みでは、外から来た値が混ざった時点で、そのまま実行されるコードになる危険があります。今回のCWE-94は、まさにその形です。
もう一つの要因は、管理用のフックが保護されていなかったことです。WordPressでは、管理系の処理に未ログインでも呼べる口が残りやすく、権限の確認が抜けるとログインなしで到達できてしまいます。今回の脆弱性は、この抜けと、ファイルを書き出す処理が重なったものです。
よくある質問
Q.カスタムのデータベースエラーページを使っていなければ、更新しなくてもよいですか。
Q.競合に勝つ必要があるなら、実際の危険は低いのでしょうか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| CVEFiber Admin |
3.1.0 以上 4.0.1 未満→ 4.0.1 |
4.0.1 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
The Fiber Admin WordPress plugin before 4.0.1 does not validate or escape a request header before writing it into a PHP file it regenerates on an unprotected admin hook, allowing unauthenticated attackers to execute arbitrary code when its custom database error page is enabled and they win a race against an administrator saving its settings.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web contact@wpscan.com
- web nvd.nist.gov
- web wpscan.com
- web github.com