WordPressの脆弱性用語5つ xmlrpc.php・ユーザー列挙・REST API・プラグインとテーマの穴を実例のCVEで解説
WordPressのサイトでは、外から呼べる入口と、後から足したプログラムが狙われます。 このページでは、外から呼べる入口に関わる3語と、後から足すプログラムに関わる2語を説明します。 どの用語にも、実際に悪用された脆弱性の番号(CVE)を、確認できた範囲で添えています。
| 用語(英語/日本語) | 何の略か | 主に起きること | 実例のCVE |
|---|---|---|---|
| xmlrpc.php | 略語ではない(XML-RPCの入口のファイル名) | パスワードの総当たり | 確認できませんでした |
| ユーザー列挙(User Enumeration) | 略語ではない | ログイン名の流出 | CVE-2017-5487 |
| REST API | Representational State Transfer Application Programming Interface | 記事の書き換え | CVE-2017-1001000 |
| プラグインの脆弱性(Plugin Vulnerability) | 略語ではない | サイトの乗っ取り | CVE-2020-25213 |
| テーマの脆弱性(Theme Vulnerability) | 略語ではない | サーバー上のファイルの読み出し | CVE-2014-9734 |
CVEとは、脆弱性に付く世界共通の通し番号です。 くわしくは脆弱性の番号と評価のページで説明しています。
xmlrpc.php(XML-RPC endpoint)
- 何の略か 略語ではありません。XML-RPCという通信の方式を受け付ける、WordPressのファイルの名前です。XML-RPCは、XML Remote Procedure Call(XMLを使った遠隔の手続き呼び出し)の略です。
- 日本語では 「xmlrpc.php」とファイル名のまま書きます。
- 一言の定義 スマートフォンのアプリや外部のサービスから、記事の投稿などをするための入口です。
- どんなリスクがあるか 1回の通信の中に、ログインの試行をまとめて詰め込めます。セキュリティ会社のSucuriは2015年10月、この仕組み(system.multicall)を使った攻撃を報告しました。報告では、3〜4回の通信で数千通りのパスワードを試せるとしています。ログインの失敗回数を数える対策は、この攻撃をすり抜けることがあります。
- 影響を受ける運用 外部のアプリから投稿していないのに、xmlrpc.php を開けたままにしているサイトです。管理者のパスワードが短いサイトほど危険です。
- 実際の事例 個別のサイトの被害事例は、確認できませんでした。攻撃の観測は、上のSucuriの報告にあります。
- 分類番号 CWE-307(認証の試行回数を制限していない)です。OWASP Top 10:2025 では A07:2025(認証の失敗)にあたります。
ユーザー列挙(User Enumeration)
- 何の略か 略語ではありません。
- 日本語では 「ユーザー列挙」「ユーザー名の列挙」と書きます。
- 一言の定義 サイトに登録されたログイン名を、外から一覧で調べ出すことです。
- どんなリスクがあるか ログイン名が分かると、攻撃者はパスワードだけを当てればよくなります。WordPressでは、投稿者のページのURL(
/?author=1)から調べられることがあります。REST APIのユーザー一覧(/wp-json/wp/v2/users)から調べられることもあります。 - 影響を受ける運用 管理者のログイン名を、表示名と同じにしているサイトです。
- 実際の事例 WordPress 4.7.0 では、REST APIが投稿者の一覧を正しく制限していませんでした。この脆弱性は CVE-2017-5487 です。4.7.1 で直りました。
- 分類番号 CWE-200(情報の露出)です。OWASP Top 10:2025 では A01:2025(アクセス制御の不備)にあたります。CVEは CVE-2017-5487 です。
REST API(Representational State Transfer Application Programming Interface)
- 何の略か Representational State Transfer Application Programming Interface の略です。
- 日本語では 「REST API」と書きます。「レストエーピーアイ」と読みます。
- 一言の定義 ほかのプログラムが、URLを使って記事や利用者の情報を読み書きするための窓口です。
- どんなリスクがあるか 窓口の確認に穴があると、ログインしていない人が記事を書き換えられます。
- 影響を受ける運用 本体の自動更新を止めたまま、古い版を使い続けているサイトです。
- 実際の事例 WordPress 4.7.0 と 4.7.1 では、ログインしていない人がREST APIで記事を書き換えられました。この脆弱性は CVE-2017-1001000 です。4.7.2 で直りました。NVDは、深刻度をCVSS 3.0 で7.5としています。
- 分類番号 NVD は、CVE-2017-1001000 に CWE の番号を付けていません(NVD-CWE-noinfo)。OWASP Top 10:2025 では A01:2025(アクセス制御の不備)にあたります。CVEは CVE-2017-1001000 です。
プラグインの脆弱性(Plugin Vulnerability)
- 何の略か 略語ではありません。
- 日本語では 「プラグインの脆弱性」と書きます。プラグインとは、WordPressに機能を足す追加のプログラムです。
- 一言の定義 追加したプラグインのプログラムにある、悪用できる欠陥です。
- どんなリスクがあるか プラグインはWordPress本体と同じ権限で動きます。そのため、1つのプラグインの欠陥で、サイト全体を乗っ取られることがあります。
- 影響を受ける運用 更新の止まったプラグインを使い続けているサイトです。
- 実際の事例 ファイル管理のプラグイン「File Manager」では、ログインしていない人が、サイトに任意のファイルを置けました。この脆弱性は CVE-2020-25213 です。詳しい経緯は脆弱性の番号と評価のページに書いています。
- 分類番号 番号はプラグインごとに異なります。CVE-2020-25213 は CWE-434(危険な種類のファイルのアップロード)です。OWASP Top 10:2025 では A03:2025(ソフトウェアのサプライチェーンの失敗)にあたります。
テーマの脆弱性(Theme Vulnerability)
- 何の略か 略語ではありません。
- 日本語では 「テーマの脆弱性」と書きます。テーマとは、WordPressのサイトの見た目を決めるプログラムです。
- 一言の定義 テーマのプログラムや、テーマに同梱されたプラグインにある、悪用できる欠陥です。
- どんなリスクがあるか 有料のテーマには、プラグインが同梱されていることがあります。同梱のプラグインは、テーマを更新しないと古いまま残ります。
- 影響を受ける運用 有料のテーマを買ったときのまま、更新していないサイトです。
- 実際の事例 スライドショーのプラグイン「Slider Revolution」の4.2より前の版では、外からサーバー上の任意のファイルを読み出せました。この脆弱性は CVE-2014-9734 です。悪用のプログラムの題には「複数のWordPressテーマ」とあり、テーマに同梱された形でも狙われました。どのテーマが該当したかは、確認できませんでした。
- 分類番号 CVE-2014-9734 は CWE-22(パストラバーサル。決められたフォルダの外のファイルを読まれる欠陥)です。OWASP Top 10:2025 では A03:2025(ソフトウェアのサプライチェーンの失敗)にあたります。
自分のサイトで確かめる方法
外から確かめるのは、自分が管理するサイトだけにします。
- ブラウザで
https://自分のサイト/xmlrpc.phpを開きます。「XML-RPC server accepts POST requests only.」と出たら、入口は開いています。 https://自分のサイト/wp-json/wp/v2/usersを開きます。ログイン名(slug)が並んだら、ユーザー列挙ができる状態です。- WordPressの管理画面で「ダッシュボード」の「更新」を開きます。本体、プラグイン、テーマの更新が残っていないかを見ます。
プロンプト駅の「WordPress の点検」で、使っているプラグインの一覧を貼ると、確かめる点をAIに出させる文を作れます。
直し方の要点
- 外部のアプリから投稿していないなら、xmlrpc.php への通信をサーバーかWAFで止めます。WAFとは、Webサイトへの攻撃の通信を止める仕組みです。
- Jetpackなど、xmlrpc.php を使うプラグインがあるときは、止める前に確かめます。
- 管理者のログイン名は、表示名と別のものにします。
- 本体、プラグイン、テーマを更新します。
- 使っていないプラグインとテーマは、停止ではなく削除します。
- テーマに同梱されたプラグインは、テーマの販売元の更新情報で版を確かめます。
出典
- Sucuri「Brute Force Amplification Attacks Against WordPress XMLRPC」(2015-10) https://blog.sucuri.net/2015/10/brute-force-amplification-attacks-against-wordpress-xmlrpc.html
- NVD「CVE-2017-5487」 https://nvd.nist.gov/vuln/detail/CVE-2017-5487
- NVD「CVE-2017-1001000」 https://nvd.nist.gov/vuln/detail/CVE-2017-1001000
- NVD「CVE-2020-25213」 https://nvd.nist.gov/vuln/detail/CVE-2020-25213
- NVD「CVE-2014-9734」 https://nvd.nist.gov/vuln/detail/CVE-2014-9734
関連するページ
- Webセキュリティ用語辞典の索引
- 脆弱性の番号と評価(CVE、CWE、CVSS)
- Webサイトセキュリティ診断では、これらの入口と更新の状態を外から点検し、修正方法を添えて報告します。
下記フォームより直接ご相談・お問い合わせいただけます。
内容を確認のうえ、担当より折り返しご連絡いたします。