PHPに重大な脆弱性 ホームページの確認ポイント、4つ

目次

「WordPressでホームページを作ったけど中身はよく分からない」という方へ。

2026年10月21日にPHPの公式が、とても危険度の高い脆弱性2件の修正版を出しました。

いちばん大事な対策は、サーバーのPHPを修正版に上げることです。

自分でできるのは、バックアップを取ること、今のPHPのバージョンを調べること、サーバー会社のお知らせを確認することです。

つなぎの対策もありますが、それだけで安心とは言えません。

この記事では、仕組みとやることを、専門用語を減らして書きます。

WordPressはサーバーの中で動いています

WordPressは、ホームページを作ったり記事を更新したりするためのソフトです。

自分のパソコンの中ではなく、インターネット上の「レンタルサーバー」に入っていて、そこで動いています。

ホームページを見る人も記事を書く人も、パソコンやスマホの画面(ブラウザ)からそのサーバーにアクセスしているだけです。

PHPって何?

PHPは、WordPressを動かす仕組みです。サーバーの中に入っていて、WordPressはPHPがないと動きません。

PHPの更新は、主にレンタルサーバーの会社が行います。管理画面の「更新」で直せるWordPress本体やテーマ、プラグインの更新とは別です。

だから、WordPressを最新にしていても、PHPは古いままのことがあります。今回の話は、そのPHPのほうです。

ちなみに、STUDIO・ペライチ・グーペのようなホームページ作成サービスで作ったサイトは、サービス側のサーバーで動いています。自分でPHPを更新する必要はありません。この記事は、主にWordPressを自分でレンタルサーバーに入れて使っている方向けですが、WordPress以外にもPHPで動いているものは対象になります(次の節の「WordPress以外も」を見てください)。

PHPの公式の告知によると、今回直った脆弱性は2件です。

  • CVE-2026-109618
  • CVE-2026-109619

どちらも、ログインしていない人が外から特別なデータを送るだけで、サーバー上で好きな命令を実行できてしまう可能性がある、というものです。公式の評価は、10点満点中の9.2点(CVSS v4.0)。かなり高い数字です。

今回、PHPに危険な不具合が見つかりました。

公式の告知の内容をかんたんにすると、こんな不具合です。

  • 1件目: メモリが足りなくなったときに、PHPの内部のデータが中途半端な状態のまま後の処理で使われてしまう
  • 2件目: 前の処理で使った古い情報が消されずに残っていて、次の処理がそれを間違って使ってしまう

どちらも、「PHPの内部の整理がうまくいかなくなる」ところを突かれます。細かい技術の話は、ここでは省きます。

サーバー上で命令を実行されると、ホームページの書き換えやデータの持ち出しなどが起こる可能性があります。

「ログイン画面を守っているから大丈夫」ではありません

ログイン前でも成立するのが、今回の怖いところです。

ログイン画面を守る対策(ログインURLの変更、パスワード保護のプラグインなど)だけでは、今回の入り口は防げません。

今回の脆弱性は、WordPressだけの問題ではありません。PHPで動いているサービスやソフトは、同じPHPの問題の影響を受ける可能性があります。

ネットショップのソフトにも、PHPで動いているものがあります。PHPのバージョンは、サーバーの管理画面で確認できます。

「うちのサイトは、何で作っているか分からない」ときは、サイトを作ってもらった会社にお問い合わせください。

WordPress以外のサイトのPHPバージョンの調べ方

前の節のサイトヘルスは、WordPressだけの機能です。WordPress以外のサイトは、レンタルサーバーの管理画面でPHPのバージョンを見ます(画面はサーバー会社によって違います)。

対象になりにくいもの

  • STUDIO・ペライチ・グーペのようなホームページ作成サービス(自分でPHPを更新する必要はありません)
  • HTMLだけで作ったPHPを使っていないサイト(対象外のことが多いです。ただし、同じサーバーにPHPで動くサイトがあれば、そちらの確認が必要です)

公式の告知で修正版として出ているのは、次のとおりです。

  • PHP 8.5系: 8.5.12
  • PHP 8.4系: 8.4.27
  • PHP 8.3系: 8.3.36
  • PHP 8.2系: 8.2.35(8.2は、2026年12月31日にサポート終了)

PHP 8.1以前は、PHP本家では更新されません。古いバージョンのまま使っている場合は、サーバー会社に確認してください。

1. 最初にバックアップを取る

何かあったときに元に戻せるようにします。プラグイン(WPvividなど)やサーバーの機能で取れます。

PHPの設定を触る前やバージョンを上げる前に取っておくと安心です。

2. 今のPHPのバージョンを調べる

WordPressの管理画面で、次の順に開きます。

「ツール」→「サイトヘルス」→「情報」→「サーバー」

その中の「PHP バージョン」に数字が出ています(例: 8.4.21)。

3. サーバー会社の管理画面とお知らせを見る

レンタルサーバーの管理画面で、PHPの設定を探します。

ここで選べるのは、「8.4」「8.3」のような大きな番号だけのことが多いです。「8.4.27」のような細かい番号は、サーバー会社が上げてくれます。

私が見たサーバーでも、そうでした。

大きな番号が古い(7.4、8.0、8.1など)ときは、新しい番号に上げる必要があります。ただし、古いテーマやプラグインを使っていると、画面が崩れることがあります。1のバックアップを取ってから、試しましょう。

あわせて、サーバー会社の「お知らせ」(管理画面や公式サイトの障害・メンテナンス情報)に、PHPの更新の予定が出ていないか見ておきましょう。

4. 更新されるまで番号を見る

修正版の公開からサーバー会社が更新するまで、数日かかることがあります。

2で調べた場所を翌日にもう一度見て、そのあとも数日おきに、番号が上がったか確認してください。

上がっていなければ、サーバー会社のお知らせを確認して更新を待ちましょう。更新されるまでの間は、次の「つなぎの対策」も役に立ちます。

公式の告知に、つなぎの対策も載っています。

2件目(CVE-2026-109619)については、session.upload_progress.enabledという設定をオフにする方法です。

私も自分のサイトで設定しました。設定のあと、ホームページが普通に表示されることを確認しています。

ただし、注意があります。

公式も「更新だけが完全な対策」と書いています。これはあくまでつなぎです。

防げるのは確認された入り口だけで、ほかの入り口は防げません。

設定する場所はサーバーによって違います(php.iniの編集画面など)。自信がなければ、無理に触らず更新を待つのも1つの方法です。

入力欄にすでに何か書かれているときは、消さずに下に1行足します。

こういう話題のときは、偽の情報も流れやすいです。

私が見たSNSの投稿にも、公式アカウントのように見えるのに、リンク先が本家とは別のドメインのものがありました。

更新情報を見るときは、PHPの公式サイト(php.net)を直接開いて確認してください。

今回の脆弱性は、ログインなしで外から攻撃される可能性がある、危険度の高いものです。対策の本命は、PHPを修正版に上げることです。

まずバックアップを取って、サイトヘルスで今のバージョンを調べます。

翌日にもう一度見て、そのあとも数日おきに、更新されるまで確認します。上がっていなければ、サーバー会社のお知らせを見ましょう。

「自分のサイトは大丈夫かな?」と思ったら、まずは、バージョンの確認からです。

コメント

コメントする

CAPTCHA


目次