WordPressのコア更新の競合状態CVE-2026-119977の悪用
WordPressの2026年10月28日のリリース告知によると、更新の時間帯にリモートでのコード実行に至りうる更新処理の弱点を7.1.4で直し、修正を4.7までの系列にバックポートした[1]。米CISAはこの脆弱性CVE-2026-119977をKEVカタログに加え、悪用の状況の評価は「active」だった[4]。
脆弱性の内容
CVE記録の説明では、完全パッケージでコアを更新するときに使う一時の展開先が予測でき、Webから到達できるため、認証の無い攻撃者が更新の時間帯にサーバー上でコードを実行しうる[4]。WordPressはGitHubでアドバイザリGHSA-4w3m-c66w-69mgを公表した[3]。
| 項目 | 値 | 資料 |
|---|---|---|
| CVSS 3.1(CNAのWordfenceの評価) | 8.1、HIGH(AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) | [4] |
| Patchstackの評価 | AC:H、実用的に悪用できるとは言わない | [7] |
| CWE | CWE-367(TOCTOUの競合状態) | [4] |
| SSVC(CISAの評価) | Automatable: no、Technical Impact: total | [4] |
発見者はPicus Securityのブログで、完全な更新はパッケージをwp-content/upgradeの下に展開し、既知のファイルを確かめてから稼働中のサイトへ複写し、一時の作業ディレクトリを消す順に進むと説明した[6]。問題は展開と複写のあいだに起きる[6]。一般的な構成ではwp-contentが公開のドキュメントルートの下にあって中のPHPを実行できるので、展開した木は一時的に到達できる2つ目のWordPressになる[6]。
Picus Securityの11月4日の解説では、展開した写しのインストーラsetup-config.phpは2か所だけで既存の設定を探すため、稼働中の設定を見つけられず、認証を求めずに設定の処理を始めていた[6]。攻撃者は自分のデータベースの接続情報を渡し、一時の木にwp-config.phpを書かせられる[6]。更新の複写はwp-config.phpを確かめも飛ばしもしないので、稼働中のwp-config.phpが上書きされる[6]。
発見者の説明では、空のデータベースを指す設定に替わるとインストールの手順が出て、攻撃者は最初の管理者を作れる[6]。管理者がPHPのプラグインを入れられる構成では、Webサーバー上でPHPのコードを実行できる[6]。
Patchstackは、7.1.4までは展開先の名前がパッケージから付き、管理画面からアップロードしたものは名前を完全に予測できたと説明した[7]。最初に走る片付けは、ディレクトリの一覧表示を止めるindex.phpも消していた[7]。更新にかかる数秒のあいだ、完全なWordPressが推測でき一覧できるパスに置かれていた[7]。
WordPressの更新の手引きでは、3.7以降の多くのサイトはマイナー版とセキュリティ更新をバックグラウンドで自動で当てる[13]。7.1.4の告知も、自動のバックグラウンド更新に対応したサイトでは更新の処理が自動で始まると書いた[1]。Patchstackは、時間の窓が無人の更新を含む毎回の更新で開くと述べた[7]。
発見者は、GPT 5.6 Solを研究の相手に使い、更新処理を見始めてから動く攻撃の連鎖まで約4時間だったと書いた[6]。Xintも公表の前に独立にこの問題を見つけ、実際の更新中の悪用の経路と7.1.4の修正を検証したと説明した[9]。
時系列
| 日付 | 主体 | 内容 | 資料 |
|---|---|---|---|
| 2026年 | WordPress | 7.1.4と各系列の修正版を公開した | [1、2] |
| 2026年 | Wordfence | CVE-2026-119977を予約した | [4] |
| 2026年 | Previdian | センサーで最初の悪用の試行を観測した | [8] |
| 2026年 | Wordfence | CVE記録を公開した | [4] |
| 2026年 | CISA | KEVカタログに加えた | [4] |
| 2026年 | カナダのサイバーセキュリティセンター | AV26-1117を出し、7.1.4より前の版が影響を受けるとした | [5] |
| 2026年 | Xint | 独立に見つけた問題の分析を公開した | [9] |
| 2026年 | Picus Security | 発見者の技術解説を公開した | [6] |
対象の製品と版
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| WordPress 7.1系列 | 7.1.0〜7.1.3 | 7.1.4 | [2、4] |
| WordPress 7.0系列 | 7.0.0〜7.0.7 | 7.0.8 | [2、4] |
| WordPress 6.9系列 | 6.9.0〜6.9.10 | 6.9.11 | [2、4] |
| WordPress 6.8系列 | 6.8.0〜6.8.11 | 6.8.12 | [2、4] |
| WordPress 6.7系列 | 6.7.0〜6.7.10 | 6.7.11 | [2、4] |
| WordPress 6.6系列 | 6.6.0〜6.6.10 | 6.6.11 | [2、4] |
| WordPress 6.5系列 | 6.5.0〜6.5.13 | 6.5.14 | [2、4] |
| WordPress 6.4系列 | 6.4.0〜6.4.13 | 6.4.14 | [2、4] |
| WordPress 6.3系列 | 6.3.0〜6.3.13 | 6.3.14 | [2、4] |
| WordPress 6.2系列 | 6.2.0〜6.2.14 | 6.2.15 | [2、4] |
| WordPress 6.1系列 | 6.1.0〜6.1.15 | 6.1.16 | [2、4] |
| WordPress 6.0系列 | 6.0.0〜6.0.17 | 6.0.18 | [2、4] |
| WordPress 5.9系列 | 5.9.0〜5.9.19 | 5.9.20 | [2、4] |
| WordPress 5.8系列 | 5.8.0〜5.8.18 | 5.8.19 | [2、4] |
| WordPress 5.7系列 | 5.7.0〜5.7.20 | 5.7.21 | [2、4] |
| WordPress 5.6系列 | 5.6.0〜5.6.22 | 5.6.23 | [2、4] |
| WordPress 5.5系列 | 5.5.0〜5.5.23 | 5.5.24 | [2、4] |
| WordPress 5.4系列 | 5.4.0〜5.4.24 | 5.4.25 | [2、4] |
| WordPress 5.3系列 | 5.3.0〜5.3.26 | 5.3.27 | [2、4] |
| WordPress 5.2系列 | 5.2.0〜5.2.29 | 5.2.30 | [2、4] |
| WordPress 5.1系列 | 5.1.0〜5.1.27 | 5.1.28 | [2、4] |
| WordPress 5.0系列 | 5.0.0〜5.0.30 | 5.0.31 | [2、4] |
| WordPress 4.9系列 | 4.9.0〜4.9.34 | 4.9.35 | [2、4] |
| WordPress 4.8系列 | 4.8.0〜4.8.33 | 4.8.34 | [2、4] |
| WordPress 4.7系列 | 4.7.0〜4.7.38 | 4.7.39 | [2、4] |
WordPressによると、4.6以前はセキュリティ更新を受けない[2]。発見者は、更新と複写の下地の動作は2.7.0〜7.1.3〔注1〕に及ぶが、すべての更新がインストーラを露出するわけではないと説明した[6]。攻撃の連鎖に要るインストーラのファイルを含むのはfull・no_content・new_bundledのパッケージで、partialとrollbackは個々のアーカイブがそれらのファイルを含むときだけ当たる[6]。
悪用の状況
The Hacker Newsの10月30日の記事によると、Wordfenceは過去24時間にこの脆弱性を狙う攻撃を62,969件防いだと述べた[10]。窓は通常の検証環境では数秒しか続かないが、攻撃者はsetup-config.phpなどのパスを繰り返し要求していると同紙は報じた[10]。WordfenceのAlex Thomas氏は同紙に、最大の発信元2つが少数のサイトの群れを約14.5時間にわたって繰り返し要求したと述べた[10]。
The Hacker Newsの11月4日の記事では、Wordfenceは公開後の最初の21時間に、展開されたインストーラのパスを狙う要求を18,500件超記録した[11]。記事を書いた際には、過去24時間に12,632件〔注2〕の攻撃を防いでいた[11]。米連邦文民行政機関(FCEB)の修正の期限は11月6日だと同紙は報じた[11]。
Previdianは、センサーで3回の悪用の試行と、1件の攻撃元のIPアドレスを観測したと報告した[8]。日別の観測は初日の3件だけで、その後の日は0件だった[8]。同社は、確度の評価は試行が成功したことを意味しないと説明した[8]。
修正と回避策
発見者は、7.1.4の修正を3つの変更として示した[6]。
- 作業ディレクトリを作るときに16文字の乱数を付ける[6]
- 展開の前の片付けでupgrade/index.phpを消さず、無ければ作り直す[6]
- update_core()が複写しないファイルの一覧にwp-config.phpを加える[6]
Patchstackは、wp-config.phpを複写しないupdate-core.phpの変更がリリースの告知に書かれていないと指摘した[7]。
最初の更新に残る窓
Picus Securityの解説では、修正を入れる最初の更新でも展開を古い版のコードが行うため、展開先は予測でき、index.phpも守られない[6]。wp-config.phpを複写しない変更だけは、新しい版のupdate-core.phpで効く[6]。それでも攻撃者は一時のWordPressを自分のデータベースで設定してログインし、展開先が消える前にWebサーバーの権限でPHPを実行して、稼働中のディレクトリのファイルを読み書きできる[6]。
Xintは、修正前の2.7〜7.0.7から7.1.4への更新が、発動に要るファイルを含むZIPを使うと説明した[9]。修正前の7.1〜7.1.3のサイトは今はそのファイルの無いpartialを受け取るが、7.1.4を入れる前に次の更新が出れば同じ攻撃に遭いうる[9]。修正版への自動のセキュリティ更新を終えたサイトは、その後の更新でも守られると同社は書いた[9]。
発見者が示した手順
発見者は、7.1.4か、古い系列ではその系列の最新のセキュリティリリースへの更新を勧め、更新を安全に進める方法を示した[6]。
- wp-content/upgrade/へのWebからのアクセスを拒む[6]。WordPressはファイルシステムで読み書きするので、更新は壊れない[6]
- 適用した後、更新を始める前に/wp-content/upgrade/への要求が403を返すことを確かめる[6]。修正前の処理は展開の前に中身を消すので、wp-content/upgrade/の中には.htaccessを置かない[6]
- 代わりにWebルートの外でパッケージを展開して手で更新する[6]。WP-CLIのwp core updateは同じ更新処理を使うので代わりにならない[6]
- すぐに修正できなければ、wp-content/upgrade/の下のsetup-config.phpを狙う要求を防御製品が止めるかを確かめる[6]
Patchstackは、PHPのファイアウォールではこの要求を防げないと説明した[7]。展開した写しは自分のファイルからWordPressを読み込み、公式のzipにmu-pluginsが無いため、サイトのファイアウォールが動かない[7]。The Hacker Newsは、wp-content/upgradeの下のPHPへの不審な要求と、見慣れない管理者アカウント・プラグイン・PHPファイルの確認がサイトの所有者に勧められていると報じた[10]。
未公表の事項
- 乗っ取られたサイトの有無と数
- CISAが悪用と判断した根拠
- WordPressが報告を受けてから修正までの経緯と日付
- 攻撃の発信元の主体
注
出典
当事者
- [1]WordPress.org『WordPress 7.1.4』(2026年10月28日公開)
- [2]WordPress.org『Version 7.1.4』(2026年10月28日公開)
- [3]WordPress『A race condition during core updates that could lead to remote code execution』(公開日不明、保存記録のみ) 保存記録
公的機関
- [4]MITRE Corporation『CVE-2026-119977』(2026年10月31日公開、2026年11月4日更新)
- [5]Canadian Centre for Cyber Security『WordPress security advisory (AV26-1117)』(2026年11月3日公開)
調査・観測
- [6]Picus Security『CVE-2026-119977: When Updating WordPress Becomes the Vulnerability』(2026年11月4日公開、2026年11月5日更新)
- [7]Patchstack『WordPress 7.1.4 Security Release』(2026年10月28日公開)
- [8]Previdian『CVE-2026-119977 Exploitation Attempts Observed — WordPress』(2026年10月31日公開、2026年11月5日閲覧)
- [9]Xint『WordPress Core Update Race: When the Update Becomes the Attack Path』(2026年11月3日公開)
報道機関
- [10]The Hacker News『WordPress RCE Flaw Draws Nearly 63,000 Attack Attempts in Just 24 Hours』(2026年10月30日公開)
- [11]The Hacker News『CISA Confirms Hackers Exploiting WordPress Core Flaw During Software Upgrades』(2026年11月4日公開)
- [12]Security NEXT『「WordPress」更新機能のRCE脆弱性 - 悪用に米当局が注意喚起』(2026年11月4日公開)
背景資料
- [13]WordPress.org『Updating WordPress』(2018年10月30日公開)
更新記録
- 2026年11月5日:公開した。
