0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

レンタルサーバーのWordPressはPHPの脆弱性に何をすべきか。見るのはサイトのPHPバージョン

0
Posted at

レンタルサーバーで WordPress を動かしていて、「PHP に緊急レベルの脆弱性」というニュースを見たものの、自分は何をすればいいのか分からない。そういう方に向けた記事です。

先に結論を書きます。

  • 共用のレンタルサーバーなら、PHP 本体の修正はサーバー会社が行います。利用者が PHP を自分でビルドし直すことはありません
  • 利用者がやるのは、自分のサイトに設定している PHP のバージョンが、修正の届く版かどうかを確かめることです
  • 8.1 以下を使っているなら、8.2 以上に切り替えます(PHP 公式の修正版は 8.2〜8.5 にしか出ていません)

(2026年10月22日朝の時点の情報です。サーバー会社の対応は日々変わるので、最後は各社のお知らせで確かめてください)

何が起きたのか

2026年10月21日、PHP の開発元が、深刻度の高い脆弱性2件を直した修正版を公開しました。通称「php2shell」と呼ばれています。

項目 内容
識別番号 CVE-2026-109618/CVE-2026-109619
深刻度 2件とも CVSS v4.0 で 9.2
何ができてしまうか 外部から、サーバーの上で任意のプログラムを動かせる(リモートコード実行)
対象 PHP 公式の告知では「Web からのリクエストを処理するすべての PHP 環境」(PHP-FPM、Apache の mod_php、php-cgi など)
修正版 8.5.12/8.4.27/8.3.36/8.2.35
8.1 以下 PHP 公式の更新はもう出ない。最小限の修正コードだけが公開され、当てるかどうかはサーバー会社や配布元しだい

PHP 公式の告知には、mod_php ではログインしていない1回のリクエストで、アプリのコードが動く前に攻撃が成り立つ例が示されている、とあります。WordPress の中で何かを設定して防げる種類の問題ではありません。

公式は、設定を変えて危険を減らす方法も載せています。ただし「完全な対策はなく、更新だけが安全な選択」とはっきり書いています。

共用サーバーの利用者がやること

1. サイトに設定している PHP のバージョンを見る

見る場所は2つあります。

  • サーバー会社の管理画面:多くの会社で、ドメインごとに PHP のバージョンを選ぶ画面があります(エックスサーバーなら「PHP Ver.切替」)
  • WordPress の管理画面:「ツール」→「サイトヘルス」→「情報」→「サーバー」に、そのサイトで実際に動いている PHP のバージョンが出ます

ドメインを複数持っているなら、ドメインごとに見てください。古いサイトだけ古い版のまま、ということがよくあります。

2. 8.1 以下なら、8.2 以上に切り替える

修正版が出ているのは 8.2〜8.5 だけです。なお 8.2 も 2026年12月31日で公式のサポートが終わるので、切り替えるなら 8.3 以上が無難です。

切り替えの前後でやることは2つです。

  • 前:バックアップを取る。古いテーマやプラグインが、新しい PHP で動かないことがあります
  • 後:トップページ・固定ページ・記事・問い合わせフォームなど、種類の違うページを数枚開いて、表示が崩れていないか見る

3. サーバー会社のお知らせを見る

「どの版に修正を当てたか」「古い版にも独自に修正を当てるか」は、会社ごとに違います。たとえばエックスサーバーは、21日16時から管理画面などを予防的に一時停止し(不正アクセスによるものではないと説明)、22日6時45分の時点で次のように案内しています。

  • PHP 8.2〜8.5:対象のすべてのサーバーに修正を当て終えた
  • 公式の修正版がない古い版:独自の修正を作り、確認が済んだものから順に当てている

古い版にも手当てが進んでいる会社はあります。ただ、いつ届くかは版しだいなので、切り替えられるなら 8.3 以上に切り替えるのが確実です。

落とし穴:SSH の php -v は、サイトの PHP とは限らない

ここは、私が自分のサーバーを確かめていて、実際に引っかかりかけたところです。

SSH でサーバーに入って php -v を打つと、こう出ました。

PHP 8.0.30 (cli) (built: Aug  3 2023 17:13:08)

8.0 は公式の修正版が出ない版です。一瞬「サイトが危ない」と思いました。

でも、これは SSH で使われる PHP(CLI)の既定のバージョンです。サイトの表示に使われる PHP は、管理画面でドメインごとに選んだもので、別に決まっています。CLI が 8.0 でも、サイトは 8.3 で動いていることがあります。逆に、CLI が新しくてもサイトが古いままのこともあります。

SSH の結果だけで「危ない」「安全」を判断しない。 サイトの版は、管理画面か WordPress のサイトヘルスで見ます。

サーバー側に修正が入ったかを見る

SSH が使えるなら、サーバーに置かれている PHP の一覧と、それぞれのビルド日時を見ることで、修正が入ったかの手がかりになります。私が使っている共用サーバーでは、各バージョンが /opt/php-<版> に並んでいました。

# 修正版がビルドされているか(読み取りだけ)
/opt/php-8.3.36/bin/php -v

10月22日の朝に見たときは、こうでした。

版 見えたもの
8.2.35/8.3.36/8.4.27/8.5.12 10月21日の22時台にビルドされたものが入っていた
8.0/8.1 最後の更新が4月・7月のまま

これは私が見た時点の、私のサーバーの様子です。上のとおり、古い版にもあとから独自の修正が当たることがあるので、最終的にはお知らせで確かめてください。

「メンテナンスモード」では防げない

WordPress をメンテナンスモードにして様子を見る、という案を見かけます。しかし今回の問題は PHP 本体にあり、WordPress のコードが動く前に攻撃が成り立つ例が示されています。メンテナンスモードは WordPress の中の仕組みなので、守りにはなりません。

どうしても止めたいなら、サーバー側(Web サーバーの設定やアクセス制限)で止める必要があります。ただ、共用サーバーの利用者にとっての本筋は、修正の届く版に切り替えることです。

AI に確かめさせた手順

私はエンジニアではなく、事務職です。今回は Claude Code(AI)に、**「読み取りだけ。何も変えない」**と決めて、SSH でサーバーを確かめさせました。

  1. ニュースと PHP 公式の告知から、修正版の番号を確かめる
  2. サーバーで php -v と、/opt/php-* の各版のビルド日時を読む
  3. サイトの版は管理画面でしか分からない、と切り分ける → 管理画面を見るのは人がやる

ニュースを読んでから、「自分が何を見ればいいか」が分かるまで数分でした。AI がやったのは調べることと切り分けまでで、切り替えるかどうかは人が決めます。

まとめ

サーバー会社がやること PHP 本体の修正(修正版のビルドと入れ替え)
利用者がやること サイトに設定している PHP のバージョンを確かめる。8.1 以下なら 8.2 以上(できれば 8.3 以上)に切り替える
判断に使わないもの SSH の php -v(サイトの版とは別のことがある)/メンテナンスモード(守りにならない)

サイトの作りは何も変わりません。変わるのは、PHP の版が「修正の届く版」になることだけです。

出典

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?