WordPressにCVSS 9.2の脆弱性、2016年以降の全バージョンに影響
A WordPress vulnerability scored 9.2/10 is present in all versions since 2016
WordPressのpage-template解決処理に認証不要のpath traversal脆弱性(CVE-2026-87902、CVSS 9.2)が見つかった。攻撃者はget_page_template()を悪用し、テーマディレクトリ外の任意の.phpファイルを読み込ませることができる。テーマがpage-で始まるディレクトリを持ち、サーバー上に読み取り可能な.phpファイルが存在する場合、RCEに至る可能性がある。Twenty TwelveやTwenty Fourteen、Neve、Hestia、Sydneyなどが該当する。修正版は7.1.2で、4.7までバックポートされた。
認証されていない攻撃者は、get_page_template()のページテンプレート解決を通じて、アクティブなテーマディレクトリ外にある任意の読み取り可能なローカル.phpファイルをインクルードさせることができる。
HNでの議論
81- beezle
「WordPress 7.1.2がリリースされ、この脆弱性の修正が含まれています。また、古いブランチのユーザーへの配慮として、修正は4.7までのすべてのブランチにバックポートされました」
配慮として、私は毎日WPについて悪いことを一つ以上言わないようにしています。ちなみに、インストールの約1/3は最近の7ブランチではありません。
- zelphirkalt
これが、簡単にアクセスできるWebサーバーが/something/something.php?somearg=somevalでスパムされる理由です。Webの歴史全体で最も悪用されたソフトウェアを推測するなら、WPは確実にトップ候補の一つでしょう。おそらくMS TeamsやSharepoint、そのようなもののすぐ後でしょうね。
- random_savv
Codexに私たちのウェブサイトをHugoテンプレートとして書き直すよう依頼し、静的にホストできるようになり、Wordpressを捨てられたことに本当に満足しています。ストレスがずっと減りました!
- chrismorgan
パッチ(https://github.com/WordPress/wordpress-develop/compare/7.1.1... から特定):
https://github.com/WordPress/wordpress-develop/commit/9c4e85...
- vntok
皮肉なことに、影響を受ける関数の一つに関する公式ドキュメントページの9年前のこのコメントが、この重大なセキュリティ欠陥の性質と修復方法の両方を完璧に説明しています:
> Paul Ryan 9年前
> locate_template() はディレクトリトラバーサル攻撃を防がないことに注意してください。そのため、ユーザー提供のテンプレート名を関数に渡す場合は、それが3つの適切な場所(アクティブテーマディレクトリ、親テーマディレクトリ、または /wp-includes/theme-compat/ ディレクトリ)のいずれかからのものであることを必ず確認してください。
https://developer.wordpress.org/reference/functions/locate_t...