Preservationテーマに認証不要の重大な脆弱性、修正版は未確認
WordPressのテーマPreservationの1.15以前に、ログインなしで外部から狙える脆弱性が見つかりました。このテーマを使うサイトの管理者は、まず自社サイトで使っていないかを確認してください。修正版の有無が確認できていないため、該当するなら更新を待たずにテーマの入れ替えや遮断策も検討します。
急ぎ度: 早めに
CVSS v3が9.8で認証なしにネットワークから狙える一方、実際の悪用を示す情報は見当たらず、修正版も確認できていないため、「至急」ではなく「早めに」としました。
関係があるか
ThemeREXが提供するWordPressテーマPreservationを、インストールしている組織やサイトが対象です。子テーマ経由で親テーマとして入っている場合や、制作会社が納品したサイトに含まれている場合も確認が必要です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| ThemeREX Preservation(WordPressテーマ) | 1.15以前 | 未確認(ベンダーの告知で確認が必要) |
確かめ方
- 1WordPressの管理画面で「外観」の「テーマ」を開き、Preservationが一覧にあるか、版がいくつかを見ます。有効化していないテーマも一覧に出ます。
- 2WP-CLIが使えるサーバーでは、
wp theme list --fields=name,status,versionを実行し、nameがpreservationの行の版を見ます。 - 3子テーマを使っているサイトは、子テーマの親がPreservationになっていないかを確認します。
- 4制作会社や運用委託先が管理しているサイトは、テーマの一覧を取り寄せて照合します。
何が起きたか
WordPressテーマPreservationに、ログインしていない外部の者が送ったデータを、テーマがそのままPHPのオブジェクトとして復元してしまう脆弱性が見つかりました。PHP Object Injectionと呼ばれる種類で、2026年10月29日にCVE-2026-54859として公開されています。
分類はCWE-502で、信頼できないデータのデシリアライズにあたります。脆弱性情報の公開元はPatchstackで、影響を受ける版は1.15以前と記載されています。
同じ型の脆弱性は、復元されたオブジェクトが環境内のほかのコードと組み合わさることで、被害の大きさが決まります。このテーマで実際にどこまでの被害に至るかは、公表情報からは読み取れません。
攻撃の流れ
-
1
公開サイトに到達
Preservationを使うWordPressサイトにインターネット側から接続します。
-
2
細工データを送信
ログインせずに、テーマが受け取るデータへ細工した内容を送ります。
-
3
オブジェクト復元
テーマが検証なしにそのデータをPHPのオブジェクトとして復元します。
-
4
意図しない動作
サイト内の既存コードと組み合わさり、情報の読み出し・改ざん・停止などにつながるおそれがあります。
どう悪用されるか
悪用に認証は要りません。ネットワーク越しに到達でき、攻撃の複雑さは低く、サイト管理者や訪問者の操作も不要です。インターネットに公開されたサイトであれば、攻撃者はサイトのURLを知るだけで試みられる位置にあります。
CVSSでは機密性・完全性・可用性のすべてが高と評価されています。つまり、情報の読み出し、サイトの書き換え、サービスの停止までを想定した点数です。実際にどれが起きるかは、サイトに入っているほかのプラグインやテーマの構成に左右されると考えられます。
今すぐやること
-
1
Preservationを使っているか確認する
本番・検証・過去に作ったサイトも含めて、テーマと版を洗い出します。有効化していないテーマも一覧に出るので、見落とさないようにします。
wp theme list --fields=name,status,version -
2
修正版の有無を確認する
ThemeREXの告知とPatchstackのページで、1.15より新しい版が出ているかを見ます。出ていれば、先に検証環境で表示と機能を確かめてから更新します。
-
3
修正版がなければテーマを入れ替える
別のテーマに切り替えて、Preservationを削除します。使っていないなら、有効かどうかにかかわらず削除します。
-
4
侵害の形跡を点検する
更新や入れ替えの前に、サイト全体のバックアップを取ります。そのうえで、身に覚えのない管理者アカウント、テーマやアップロード用ディレクトリの不審なファイル、公開以降に増えた異常なリクエストがないかを、アクセスログと合わせて見ます。
すぐ更新できないとき
すぐに入れ替えられないときは、WAFでサイトへの不審なリクエストを遮断する設定を入れます。シリアライズ形式のデータを含むリクエストを止めるルールが使える製品もありますが、正常な機能を止めないか事前に確認してください。社内向けや会員向けのサイトなら、IPアドレス制限やBasic認証で外部から届かないようにするのも手です。いずれも根本的な対策ではないため、修正版の確認や入れ替えまでのつなぎとして使います。
背景
WordPressのテーマは見た目の設定だけではなく、サイトと同じ権限で動くPHPのコードです。テーマ側に脆弱性があれば、データベースの内容や、サイト上のファイルにまで影響が及び得ます。Preservationはテーマ販売元のThemeREXが配布しているもので、制作会社の納品物として入っていることもあり、管理者が存在を把握していない場合があります。
CWE-502は、外部から受け取ったデータをPHPのunserializeなどで復元するときに起きる、古くから知られた型です。復元そのものより、そのあとでオブジェクトが引き起こす処理が被害を左右します。このためWordPressでは、本体よりもプラグインやテーマの組み合わせで問題になりやすい型として知られています。
よくある質問
Q.子テーマを使っています。対象になりますか。
Q.WordPress本体や、ほかのテーマも影響を受けますか。
まだ分かっていないこと
- 修正版が出ているか、出ているなら何版かは分かっていません。ThemeREXの告知とPatchstackのページで確認してください。
- 実際の攻撃で悪用されたかは分かっていません。また、成立した場合にコード実行まで至るのかなど、具体的な被害の範囲も分かっていません。
- テーマを有効化していないだけでも影響を受けるのかは分かっていません。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| ThemeREX | Preservation |
1.15 以前 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Unauthenticated PHP Object Injection in Preservation <= 1.15 versions.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web patchstack.com
- web nvd.nist.gov
- web github.com