SiiD BLOG ロゴ

PHPの脆弱性(CVE-2026-109618・109619)で何をすればいい?WordPress・Laravel・Dockerなどタイプ別の対処法

PHPの脆弱性(CVE-2026-109618・109619)で何をすればいい?WordPress・Laravel・Dockerなどタイプ別の対処法

この記事を書いた人

セイト@エンジニア兼講師

セイト@エンジニア兼講師

2012年に大学を卒業後、株式会社LIGにてWebデザイナー・Webエンジニアを3年務めたあと、株式会社LIG Philippinesの代表・VPoEとして6年間の在籍中に社員数約100名程度のテックチームへ成長させる。 その後2021年に独立し、合同会社BugFixを設立。登録者13万人を超えるテック系YouTubeチャンネルの運営やキャリアに特化したAIプログラミングスクールSiiDを運営中。

こんにちは!SiiD代表エンジニアのセイトです。

2026年10月21日、PHPに重大な脆弱性が見つかりました。
IPA(情報処理推進機構)も注意喚起を出し、高市総理までもがXでこの件を取り上げました。
なにせ、PHPは世界の7割のWebサイト(サーバー側の言語が分かるサイトのうち)で使われているため、影響範囲がとんでもなく大きいです。

ただ、ニュースを読んでも、こう思った人が多いと思います。

「で、私は何をしたらいいの?」

エンジニアの人、非エンジニアの人、WordPressでサイトを持っている人、PHPでサービス開発している人...などなど、人によってやることが違います。
何もしなくていい人もいれば、今日中に手を動かさないといけない人もいます。

そこでこの記事では、PHPの脆弱性への対処法を、次の5つのタイプ別にまとめました。

  • WordPressで作ったWebサイトをレンタルサーバーで運営している人
  • 制作会社に作ってもらったサイトを持っている人
  • 1ユーザーとして、PHPが使われているであろうサービスを使っている人
  • Laravelなどで開発し、AWSなどで運用している人
  • Dockerで開発・運用している人

エンジニアでない人でも、なるべく専門知識がなくても対応できるように書いています。

PHPの脆弱性(CVE-2026-109618・109619)で何が起きたのか

PHP(WordPressなど、多くのWebサイトを動かしているプログラミング言語)の本体に、脆弱性が2つ見つかりました。
メモリ不足で処理が途中で止まったときに起きる「CVE-2026-109618」と、前のリクエストの内部の状態が残ってしまう「CVE-2026-109619」です。

  • 深刻度:最高ランクの「Critical」(CVSS 9.2。CVSSは脆弱性の深刻さを10点満点で表す指標です)
  • 起きうること:ログインしていない第三者が、外からサーバー上で好きなプログラムを動かせる(サイトの書き換えや、お客さんの情報の流出につながります)
  • 対象:Webのリクエストを処理しているPHPすべて(PHP公式による。APIサーバーも含みます)

幸い、PHP開発者の迅速な対応により、2026年10月21日の夜(日本時間)には公式から修正版が配られています。
つまり、根本的な対策は、PHP本体を修正版に上げることです。
8.2以上であれば、それぞれのマイナーバージョンに対応した修正版が出ているので、それにアップデートすればOKです。

  • PHP 8.5 → 8.5.12
  • PHP 8.4 → 8.4.27
  • PHP 8.3 → 8.3.36
  • PHP 8.2 → 8.2.35

PHP 8.1以前はサポートが終わっているため、PHP公式からは新しい版は出ません(Ubuntuなど一部のOSの標準パッケージでは、独自に修正されている場合があります)。
8.3以上への更新が必要です(8.2も2026年12月31日でサポートが終わるため)。

PHPの脆弱性への対応方法は「誰がPHPを上げるか」で決まる

PHPを修正版に上げる作業は、PHPが動いているサーバーを管理している人がやります。
まず確かめるのは「自分のサイトやサービスのサーバーを、誰が管理しているか」です。
上の図で自分のタイプを見つけて、当てはまるところだけ読んでください。

PHPの脆弱性への対処法【タイプ1】WordPressで作ったWebサイトをレンタルサーバーで運営している

PHP本体を上げるのは、レンタルサーバー会社の仕事です。
あなたがサーバーに入って作業することはありません。

ただ、あなたにしかできないことが1つあります。
レンタルサーバーの管理画面で「サイトに設定しているPHPのバージョン」を確かめることです。
WordPressの管理画面ではないので注意してください。

多くのレンタルサーバーでは、PHPのバージョンを利用者が管理画面で選ぶ仕組みになっています。
サーバー会社はPHPを修正版に入れ替えますが、利用者が選んだバージョンを勝手には変えないのが一般的です。
8.1以前(7.4など)を選んだままだと、サポートが終わったバージョンのまま動き続けます。

PHP 8.3以上になっていた場合

今やることはありません。
サーバー会社のお知らせで、修正版の適用が済んだかだけ見ておけばOKです。

PHP 8.2になっていた場合

今回の修正版は届きますが、8.2は2026年12月31日でサポートが終わります。
年内に、下の手順で8.3以上へ切り替えてください。

PHP 8.1以前になっていた場合

今すぐ8.3以上に切り替えます。
ただし、切り替えるとプラグインやテーマが動かなくなることがあるので、次の順番でやると安全です。

  1. バックアップを取る(サーバー会社の自動バックアップがあれば、取得日時を確認するだけでもOK)
  2. WordPress本体・プラグイン・テーマを最新にする
  3. レンタルサーバーの管理画面でPHPを切り替える
  4. トップページ、問い合わせフォーム、ログイン画面を開いて確認する
  5. 表示がおかしければ、PHPを元のバージョンに戻す

不具合の多くは、古いプラグインが新しいPHPに対応していないことで起きます。
手順2を先にやっておくだけで、かなり避けられます。

PHPの脆弱性への対処法【タイプ2】制作会社に作ってもらったサイトを持っている

自分で作っていなくても、サイトの持ち主はあなたです。
何もしないで待つのは危険です。

制作会社や保守の担当者に、次の文面をそのまま送ってください。

PHPの重大な脆弱性(CVE-2026-109618/CVE-2026-109619)について、弊社サイトの対応状況を教えてください。
1.サイトで使っているPHPのバージョン
2.修正版(8.5.12/8.4.27/8.3.36/8.2.35)への更新は済んでいるか、済んでいなければ予定日
3.PHP 8.1以前の場合、今後の対応方針

2〜3日たっても返事が来なければ、それ自体が「サーバーを誰も見ていない」というサインです。
その場合は、別の会社に保守を頼むことも考えてください。

PHPの脆弱性への対処法【タイプ3】1ユーザーとして、PHPが使われているであろうサービスを使っている

PHPを上げるのはサービス側の仕事です。
基本は何もしなくて大丈夫です。

ただ、どこかのサービスが被害に遭っても困らないように、普段の対策だけ見直しておきましょう。

  • パスワードを使い回さない
  • 2段階認証を有効にする
  • 「脆弱性対応のためパスワードを再設定してください」というメールのリンクは踏まない

ログインは、ブックマークや公式アプリからしてください。

PHPの脆弱性への対処法【タイプ4】Laravelなどで開発し、AWSなどで運用している

「AWSを使っているから、AWSが直してくれる」とは限りません。
AWSが面倒を見る範囲はサービスによって違い、その上で動くPHPは利用者の担当、というのが基本です。

  • EC2・Lightsail(サーバーを丸ごと借りる。Laravel Forge経由も含む)→ 自分で上げる
  • ECS・Fargate(Dockerコンテナで動かす)→ 自分でイメージを作り直す(タイプ5)
  • Elastic Beanstalk → AWSが修正版入りの環境を出したら、それに更新する(自動更新の設定があれば、週1回のメンテナンス時間に適用される)
  • Lambda(Bref・Laravel Vaporなど)→ LambdaにはPHPの公式の実行環境が無いので、AWSの自動更新は効かない。提供元が修正版を出したら取り込んで、デプロイし直す
  • Laravel Cloudなど、PHPの更新まで提供元がやるサービス → 提供元のお知らせを待つ

さくらのVPSやConoHa VPSなど、AWS以外のサーバーでも考え方は同じです。

PHPを自分で修正版に上げる手順

8.3なら8.3のまま修正版になるだけなので、アプリのコードの修正は要りません。
OSのパッケージ管理で修正版を入れて、PHP-FPM(Webサーバーの裏でPHPを動かす仕組み)を再起動します。
手順はOSやサーバーの構成によって違います。
次はUbuntuでPHP 8.3を使っている場合の一例で、サーバーにSSHでログインして実行します。

sudo apt update && sudo apt upgrade
sudo systemctl restart php8.3-fpm

Amazon Linuxなら sudo dnf upgrade と sudo systemctl restart php-fpm です。

なお、Ubuntuの標準パッケージは、番号を変えずに修正だけ取り込みます。
その場合は php -v の番号ではなく、「Ubuntu Security Notices」でCVE番号を検索して、修正済みかを確かめてください。

Laravel Octaneを使っているなら、Octaneもプロセスごと再起動します(supervisorなどからrestart)。
OctaneはWebのリクエストを直接処理していて、php artisan octane:reload だけでは古いPHPのまま動き続けることがあるからです。
FrankenPHPで動かしているなら、PHPがFrankenPHPの中に組み込まれているので、FrankenPHP本体の修正版が出たら入れ替えてください。
2026年10月22日2時の時点ではまだ出ていないので、それまでは下の回避策を入れておきます。
キューワーカーやHorizonも、ついでに再起動しておくと確実です。

開発に使っているPCのPHPは、外から攻撃される場所にはないので急ぎではありませんが、ついでに上げておきましょう。

PHPの修正版がまだ届かないときの回避策

OSのパッケージに修正版が届くまで、数時間〜数日かかることがあります。
その間は、PHP公式が出している回避策の設定を入れて、2つの脆弱性の入口を狭めておきます。

  • post_max_size:1回に受け付ける送信データの大きさを小さくする(大きなデータを送りつけてメモリ不足を起こさせる攻撃を減らす)
  • session.upload_progress.enabled:ファイルアップロードの進み具合を記録する機能を止める(CVE-2026-109619の、確認済みの入口になっている機能)
post_max_size = 8M
session.upload_progress.enabled = 0

php.iniに書いて、PHP-FPMを再起動します。
ファイルアップロードを使うサイトは post_max_size を32Mにして、upload_max_filesize はそれより小さくします。

もう1つ、memory_limit(PHPが使えるメモリの上限)を外します。
CVE-2026-109618は、主にメモリの上限に達して処理が途中で止まったときに起きるからです。
この設定はphp.iniではなく、PHP-FPMのプール設定(www.confなど)に書きます。
こうするとアプリ側から書き換えられません。

php_admin_value[memory_limit] = -1

Apacheにmod_phpで組み込んでいる場合は、Apacheの設定に php_admin_value memory_limit -1 と書きます。
ほかの設定で上限が付け直されていないかも確かめてください。
なお、上限を外すと、処理が暴走したときにサーバーのメモリを使い切るおそれがあります。
修正版を入れたら、元の値に戻しておきましょう。

PHP 8.5を使っているなら、fatal_error_backtraces = 0(エラー時に詳しい記録を出す機能を止める)も加えます。

ただ、公式も「回避策は一部の攻撃を減らすだけ。完全な対策は更新だけ」としています。
修正版が届いたら、すぐに上げてください。

PHPの脆弱性への対処法【タイプ5】Dockerで開発・運用している

Dockerを使っている場合、PHPはサーバーやPCではなく、イメージの中に入っています。
サーバーで apt を実行しても、コンテナの中のPHPは古いままです。

やることは、イメージの作り直しです。
docker composeを使っている場合は、プロジェクトのフォルダでターミナルから次を実行します。

docker compose build --pull --no-cache
docker compose up -d

--pull で最新のベースイメージを取り直します。

本番がECS・Fargateなら、作り直したイメージでデプロイし直します。
開発用のLaravel Sailも作り直します(こちらは急ぎではありません)。
Sailは公式のPHPイメージではなく、Ubuntuに別の配布元からPHPを入れる作りです。
その配布元には2026年10月22日2時の時点で修正版が入っているので、今作り直せば修正版になります。

注意点は2つです。

  1. Dockerfileで php:8.3.35-fpm のように番号まで固定しているなら、修正版の番号に書き換える
  2. 公式イメージに修正版が反映されるまで、時間差がある

今回は、PHPの修正版の公開から3時間ほどたった2026年10月22日2時前に、Docker公式のPHPイメージにも修正版が反映されました。
次に脆弱性が出たときも同じ時間差が出るので、反映されるまでの間は、タイプ4の「PHPの修正版がまだ届かないときの回避策」の設定をイメージに追加して(php.iniを足す形で)、デプロイしておきます。
反映されたら作り直して、コンテナの中で php -v を実行し、修正版の番号になっているか必ず確かめてください。

なお、同じ日にNode.jsにも脆弱性が見つかっています。
Node.jsを使っている人は、Node.jsの脆弱性への対処法もあわせて確認してください。

PHPの脆弱性対応のついでに、自分で作ったアプリのセキュリティも点検する

今回はPHP本体の脆弱性でしたが、ほかの部分は大丈夫といえそうですか?

  • APIキーやパスワードが、GitHubやブラウザから見える場所に置かれていない
  • URLの数字を変えても、他人のデータは見えない
  • ログインしていない人は、管理用のページを開けない

1つでも自信がなければ、点検しておくのがおすすめです。
AIに貼るだけで、こうした項目を12個まとめて点検し、問題があれば直すところまで進められるプロンプトを用意しました。
僕の公式LINEではこれを無料で配っているので、よかったら使ってください。
SiiDの公式LINEを追加して「セキュリティ」と送ると、無料で受け取れます。

PHPの脆弱性(CVE-2026-109618・109619)に関する出典

AIプログラミングスクール「SiiD」について

AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。

SiiDの特徴

  • 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
  • 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
  • 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
  • Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
  • 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
  • 学割あり(35%オフ)

こんな方におすすめ

  • 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
  • 独学に限界を感じている方
  • 費用を抑えながら実務スキルと転職サポートを両立したい方

「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。

シェアする

未経験からのエンジニア転職を本気で目指すなら「SiiD」

SiiDはYouTube 13万人のセイト先生が主任講師のAIプログラミングスクール。元人事部長&現役エンジニアによる徹底指導で、生涯年収を大きくアップさせませんか?

SiiDの詳細を見る