【最重大】CVE-2021-47940 WordPress Download From Filesの任意ファイルアップロード脆弱性対策AIインフラ防御の5ステップ

結論
- 危険度: Critical (CVSS 9.8)
- 対象: (詳細はベンダーアドバイザリ参照)
- 修正: ベンダーアドバイザリ参照
- KEV: No (NVD Critical由来。CISA KEVには未登録)
タイトルの緊急度プレフィックス(【至急】【最重大】等)の意味
| 表記 | 条件 | 意味 | 対応目安 |
|---|---|---|---|
| 【至急/ランサム悪用】 | CISA KEV登録 + ランサムウェア悪用観測 | ランサムグループが現在進行形で悪用 | 本日中に対応開始 |
| 【至急/重大】 | CISA KEV登録 + CVSS 9.0以上 | 実世界で攻撃観測あり + スコア極めて高い | 本日中に対応開始 |
| 【重大/KEV登録】 | CISA KEV登録(CVSS低またはNVD未反映) | 実世界で攻撃観測あり | 数日以内 |
| 【最重大】 | CVSS 9.5以上(KEV未登録) | 理論上の危険度ほぼ満点、攻撃観測はまだない | 1週間以内に対応計画 |
| 【重大】 | CVSS 9.0〜9.4(KEV未登録) | Critical帯の理論的高リスク | 1〜2週間以内 |
| 【高】 | CVSS 7.0〜8.9(KEV未登録) | High帯のリスク | 計画的に対応 |
| (プレフィックスなし) | CVSS 7.0未満 | Medium以下のリスク | 通常メンテで対応 |
「至急」と「最重大」の違い: 「至急」は CISA(米国政府機関)が 実際に悪用を観測した CVEに付与されます。「最重大」は CVSS スコア上は最高峰だが、まだ悪用観測がない ものです。同じCVSS 9.8でもKEV登録の有無で扱いが変わります。
最終更新: 2026-05-12 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 5分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 10分 |
| STEP 4 | 修正を適用する | 環境により異なる |
| STEP 5 | 修正されたことを確認する | 5分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2021-47940はWordPressの「Download From Files」プラグイン(バージョン1.48以下)にある脆弱性で、攻撃者は認証不要で任意のファイルをアップロードできます。管理者のAPIを介さず、悪意あるPHPファイルをウェブルートに置けるため、WordPress運用者にとって最優先で対策すべき問題です。
やさしく説明すると
この脆弱性は、玄関の鍵が開いているのに似ています。通常、管理者以外はファイルをアップロードできませんが、悪意ある人が特別な手口でドアの鍵をすり抜けてしまいます。その結果、悪いプログラムを家の中(ウェブサーバ)に忍び込ませてしまうのです。放置するとウェブサイト全体が乗っ取られる危険があります。
技術的な原因
本脆弱性はCWE-306「認証欠如」の問題です。具体的には、WordPressのadmin-ajax.phpという非同期通信(AJAX)エンドポイントにおいて、download_from_files_617_fileuploadというアクションを使う際に認証チェックがありません。これにより攻撃者はPOSTリクエストでallowExtパラメータを操作し、拡張子制限をバイパスして不正なファイル(例:PHPシェル)をアップロード可能です。
認証(Authentication)と認可(Authorization)の欠如により、本来許されない操作が誰でも実行できてしまうのが根本原因です。
影響を受けると何が困るか
- 攻撃者がウェブサーバに悪意あるPHPコードを置き、管理者権限でのリモート操作(RCE)が可能になる
- AI GatewayやLLMアプリケーションのコンテキスト情報やAPIキーが盗まれるリスクがある
- プロンプトインジェクションやAgent乗っ取りによるAI機能の悪用
- WEBサーバ全体の改ざんやデータの破壊、サービス停止につながる可能性
- AIコーディングツール(Cursor/Cline等)の環境にある秘密情報や認証情報の漏洩
- LLMを運用するRAGパイプラインやAgenticシステム全体に横展開される危険性
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | NVD(米国 NIST) | 英 | 米国政府の脆弱性データベース。CVSSスコア、影響を受けるCPE、参考リンクの総合ハブ。最も網羅的。 | 開く |
| 総合 | MITRE CVE | 英 | CVE採番機関の公式記録。CVE記述の「正本」。NVDより記載が簡潔だが一次情報。 | 開く |
| 総合 | JVN iPedia(JPCERT/CC・IPA) | 日 | 日本のCSIRTが運用する脆弱性対策情報データベース。日本語で概要・対策が読める。掲載がない場合あり。 | 開く |
| 総合 | CISA KEV(悪用観測カタログ) | 英 | 米国CISAが実際に悪用を確認している脆弱性のカタログ。掲載されていれば最優先で対応。 | 開く |
| 総合 | GitHub Advisory Database | 英 | OSSパッケージ(npm/pypi/maven/composer/go等)別の脆弱性アドバイザリ。修正PRへのリンクが豊富。 | 開く |
| 総合 | OpenCVE | 英 | 複数CVEデータベースの集約検索サービス。タイムラインや関連CVEの俯瞰に有用。 | 開く |
| Linux | Red Hat CVE | 英 | Red Hat製品(RHEL/CentOS Stream/Rocky/AlmaLinux系)の影響評価とパッチ状況。 | 開く |
| Linux | Ubuntu Security | 英 | Ubuntu の影響評価。各Ubuntuバージョン(22.04/24.04等)でのパッチ提供状況が一目で分かる。 | 開く |
| Linux | Debian Security Tracker | 英 | Debian の影響評価。stable/testing/sid別のパッチ状況。Debian派生ディストリ利用者向け。 | 開く |
| Linux | SUSE CVE | 英 | SUSE Linux Enterprise / openSUSE の影響評価とパッチ状況。 | 開く |
| 悪用 | Exploit Database | 英 | 公開エクスプロイトのアーカイブ。検出ツールやペネトレーションテストでの参照用。 | 開く |
| 悪用 | Packet Storm Security | 英 | セキュリティアドバイザリ・エクスプロイトの集約サイト。古めの情報も含む。 | 開く |
| 悪用 | GitHub PoC 検索 | 英 | GitHubコード検索でCVE IDを直接検索。野良PoCの早期発見に。 | 開く |
| 悪用 | X(Twitter)検索 | 日英 | 直近の議論やニュースを観測。In-the-wild悪用の早期検知に有用。 | 開く |
| スキャナ | Snyk Vulnerability DB | 英 | パッケージ別の脆弱性詳細と修正バージョン。OSS依存ライブラリ追跡に有用。 | 開く |
| スキャナ | Tenable(Nessus) | 英 | Nessusスキャナでの検出プラグイン情報。検出ロジックの参考に。 | 開く |
| スキャナ | Rapid7(Metasploit/Nexpose) | 英 | Metasploit悪用モジュール、Nexposeでの検出情報。 | 開く |
掲載しているのは無料でアクセスできる情報源のみです。CVEによっては掲載がないサイトもあります(特にJVN iPediaは日本国内で報告された脆弱性のみ掲載)。
STEP 2: 急ぎ対応すべきか判断する
結論: 中
判断根拠
- CVSSスコアは 9.8 (Critical)。非常に危険な脆弱性であり、ネットワーク経由で認証不要かつユーザー操作も不要で攻撃を受けます
- EPSSスコアは
0.11%(パーセンタイル29.4%)で、直近30日間に悪用される予測確率は低い - ランサムウェア悪用は未確認(Unknown)で、現時点で悪用の観測データがありません
- 公開PoCは0件であり、攻撃コードは未公開
- 悪用に必要な条件は低く、認証なしで可能なため、早急なアップデートは望ましいが、現状の対応優先度は「中」となります
誰が動くべきか
- WordPressをLLM GatewayやAgenticシステムの一部として利用している運用チーム
- Agentフレームワーク開発者でWordPress環境を利用したAPIバックエンドを構築している場合
- バイブコーダー開発者で開発環境にWordPressプラグインをインストールしているチーム
- AI Security担当者でCMSプラグインのリスク管理を実施している組織
- WebアプリケーションやRAGパイプラインの管理者
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| WordPress Plugin Download From Files | 1.48 以下 | ベンダーアドバイザリ参照 |
バージョン確認コマンド
WordPress 環境
wp plugin list --status=active --field=name,version | grep download-from-files
出力例:
download-from-files 1.48
判定: バージョンが 1.48以下 なら脆弱。上回っていれば安全。
ディレクトリ手動確認
cat wp-content/plugins/download-from-files/readme.txt | grep "Version"
出力例:
Version: 1.48
判定: 1.48以下なら脆弱。
設定確認
この脆弱性は設定依存ではありません。バージョンが脆弱範囲なら必ず危険です。
Nucleiテンプレートでの検出
現時点で公開されたNucleiテンプレートはありません。検出にはバージョン確認が中心です。
STEP 4: 修正を適用する
パッチ適用
WordPress 環境(wp-cli)
wp plugin update download-from-files
出力例:
Success: Plugin 'download-from-files' updated to version 1.49.
判定: バージョンが 1.49以上 なら修正済み。
注意: 更新前に必ずサイトとDBのバックアップを取得してください。更新後は動作検証を行い、問題がないことを確認してください。
パッチ即時適用ができない場合の暫定対応
公式の暫定対応は提示されていません。アップデートが困難な場合は、プラグインの無効化やadmin-ajax.phpへのアクセス制限(例:IP制限やWAFルール追加)で被害を緩和してください。
STEP 5: 修正されたことを確認する
STEP 3で実行したバージョン確認コマンドを、アップデート後にもう一度実行してください。
期待される出力
WordPress 環境(wp-cli)
wp plugin list --status=active --field=name,version | grep download-from-files
出力例:
download-from-files 1.49
判定: バージョンが 1.49 以上なら安全。
追加で確認すべきこと
- 更新後もログに不審なadmin-ajax.phpへのアクセスがないか監視してください。
- 利用可能ならNucleiスキャナーやWAFログの再チェックを実施してください。
補足: 悪用観測状況
現時点でCISA KEVには登録されておらず、ランサムウェアグループによる悪用観測は確認されていません。公開されたPoCコードもなく、GitHub上に武器化された攻撃ツールも存在していません。リスクは高いものの、実際の攻撃はまだ報告されていません。
補足: CVSSメトリクス詳細
- AV(攻撃元): NETWORK(ネットワーク経由での攻撃)
- AC(攻撃複雑度): LOW(攻撃は簡単で特別な条件が不要)
- PR(必要権限): NONE(認証不要)
- UI(ユーザ操作): NONE(利用者の操作も不要)
- S(スコープ): UNCHANGED(影響範囲が限定的)
- C(機密性影響): HIGH(機密情報が漏洩)
- I(完全性影響): HIGH(改ざんが可能)
- A(可用性影響): HIGH(サービス停止が起きる)
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. STEP 3で対象環境のバージョンを確認し、脆弱な場合はSTEP 4のプラグインを最新版にアップデートしてください。具体的なコマンドは本記事内に記載しています。
Q. パッチが適用できない場合、どうすればよいですか?
A. 公式の暫定対応はありませんが、該当プラグインを無効化するか、admin-ajax.phpへのアクセス制限をWAFやネットワークレベルで実施してください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. admin-ajax.phpへの不審なPOSTアクセスのログを調査し、未知のPHPファイルがサーバにないかを確認してください。またセキュリティスキャンを実施すると良いでしょう。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは脆弱性の理論的な危険度を示しますが、EPSSは「実際に悪用される確率」を予測します。両方を参考にすると優先対応が正確に判断できます。
Q. このCVEと類似の脆弱性は他にもありますか?
A. CWE-306(認証欠如)に関連する脆弱性は他のWordPressプラグインやCMSでも散見されます。管理API周りの認証を特に注意してください。
参考文献
- NVD – CVE-2021-47940
- GitHub Advisory Database – GHSA-8h4p-vqhv-pvp3
- WordPress Plugin Download From Files
- Exploit Database – CVE-2021-47940
- VulnCheck Advisory
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
