株式会社キャリアハブ
エンジニアの働き方

PHP2Shellとは?PHPの重大脆弱性を図解でわかりやすく解説


「今夜に対応して頂きたい大至急のお願い」。2026年10月21日、首相がXにこう投稿しました。対象は、プログラミング言語のPHPです。

同じ夜、レンタルサーバー各社は予防のためにサイトや管理画面を止めました。ゲームやネットショップでも、PHPが原因とみられる緊急メンテナンスが相次いでいます。原因は「PHP2Shell」と呼ばれる2件の脆弱性(セキュリティの穴)です。

ITに詳しくない人からすると、何がそんなにヤバいのか、ピンとこないですよね。この記事では、何が起きたのかを図解で整理します。後半は、この3日間に現場のインフラエンジニアが何をしていたのかの話です。

この記事は2026年10月24日時点の公開情報をもとに書いています。状況は日々更新されているので、実際の対応はPHP公式や、サーバー会社・セキュリティ機関の最新の告知を確認してください。

何が起きた? 時系列で整理

まずは流れだけ押さえましょう。日付は日本時間です。

日付出来事
10月17日修正版の公開前に、悪用を試みた形跡がAmazonの観測網で見つかる
10月20日脆弱性の存在が公表される。修正版より先に、技術情報の一部が外に漏れる
10月21日 夜PHP開発チームが修正版(8.2.35/8.3.36/8.4.27/8.5.12)を公開。首相と国家サイバー統括室がXで速やかな適用を呼びかけ。レンタルサーバー各社が予防の停止・緊急メンテナンスへ。悪用できると主張するコードも出回り始める
10月22日大手レンタルサーバーが朝までに修正版の適用を完了したと告知
10月23日さくらインターネットが「自社の調査では被害は確認されていない」と発表

深刻度は、脆弱性の共通の物差し(CVSS v4.0)で9.2の「緊急」。番号はCVE-2026-109618とCVE-2026-109619の2件です。影響はPHP 5.4以降の、ほぼすべての版に及ぶとされています。

→ 「CVE」「CVSS」の読み方:脆弱性・CVE・CVSSとは?図解でわかりやすく解説

PHP2Shellの仕組み

PHPの基礎記事では、PHPを「注文ごとに料理(Webページ)を作るシェフ」にたとえました。今回の穴も、この厨房のたとえで説明できます。

ある注文の途中で、わざとトラブルを起こさせる。すると、作りかけの伝票が片付けられないまま厨房に残ります。次の注文が来たとき、シェフはうっかりその伝票を読んでしまう。そこに攻撃者の指示が仕込まれていたら? シェフはその通りに動いてしまいます。

攻撃者ログインは不要PHP(サーバー)処理の途中でわざと失敗させられる片付け忘れが残る中途半端なデータがメモリに居座るPHPが片付け忘れを使う前の処理の残りを、正しいデータと勘違い攻撃者のプログラムが動くサーバーを乗っ取られるおそれ① 1回目の細工した通信② 2回目の通信で発動構成によっては、サイトのプログラムより手前で起きる
図1:PHP2Shellの攻撃の流れ(解説記事をもとに簡略化)

専門用語でいうと「Use After Free(解放したメモリを使ってしまう)」系の不具合です。怖いのは、構成によってはサイト側のプログラムが動くより手前、PHPの入口で起きること。サイトの作りがどれだけ丁寧でも、土台のPHPに穴があれば守りきれません。

ちなみに、この穴はAIを使ったソースコードの調査で見つかったと報じられています。AIが「守る側」の道具としても使われ始めている、という意味でも象徴的な出来事でした。

なぜここまで大騒ぎになったのか

脆弱性のニュース自体は、毎週のように出ています。今回が別格だった理由は3つです。

1

使っているサイトが桁違いに多い

サーバー側の言語がわかるWebサイトの約7割がPHP(W3Techs調べ)。ブログ、企業サイト、ネットショップ、予約システムまで巻き込みます。

2

ログイン不要で乗っ取りにつながる

パスワードを盗む必要すらありません。外から通信を送るだけで、サーバー上でプログラムを動かされるおそれがある種類です。

3

修正版より先に攻撃が始まっていた

公開の4日前には悪用の試みが観測され、公開とほぼ同時に攻撃用とされるコードも出回りました。「ゆっくり様子を見る」時間がなかったんです。

だから首相がXで「今夜に」と呼びかけるほどの事態になりました。海外でも、政府機関のサイトを一時的に止める国が出ています。システムを止めるのは痛い。それでも、乗っ取られるよりはマシ。そういう判断です。

WordPressを更新しても直らない理由

ここ、いちばん勘違いが多いところです。「WordPressの更新ボタンを押したから大丈夫」。それでは直りません。

WordPress・プラグインサイトの中身PHP本体今回の穴はここ⚠WebサーバーApache・NginxLinux全部を動かす土台(OS)管理画面の更新ボタンサーバー側の作業が必要=インフラの仕事上の層をいくら更新しても、下の層の穴はふさがらない
図2:今回の穴の位置。WordPressの更新では届かない

WordPressは、PHPの上に乗っているアプリです。今回の穴は、その下のPHP本体にあります。だから直すには、サーバーで動いているPHPそのものを修正版に入れ替える必要があります。これはサイトの管理画面ではなく、サーバー側の作業です。

誰が作業するかは、サイトがどこで動いているかで決まります。

サイトの置き場所誰がPHPを更新する?やること
レンタルサーバーサーバー会社お知らせで修正完了を確認。8.1以前を選んでいたら切り替えを検討
VPS・クラウド自分(自社)自分で修正版へ更新。攻撃の痕跡がないかログも確認
制作会社に運用委託委託先PHPの版と更新状況を委託先に確認

もうひとつ要注意なのが、PHP 8.1以前を使っているサイト。サポートが終わっているので、公式の修正版(そのまま使える配布物)が出ていません。サポート中の8.2以降へ移行するのが基本です。その8.2も、2026年12月末でサポート終了の予定です。

「こういう“裏側を守る仕事”、ちょっと気になるかも」——そう思った人へ。記事の最後に、LINEで気軽に聞ける窓口があります。

現場のインフラエンジニアがやったこと

ニュースの裏で、10月21日の夜から各社のインフラエンジニアが動いていました。脆弱性対応は、だいたいこの順番で進みます。

  1. 1

    情報を集める

    公式の発表や、セキュリティ企業・公的機関の注意喚起を読み、何が危ないのかを把握する

  2. 2

    影響範囲を調べる

    担当するサーバーのどこで、どの版のPHPが、どんな方式で動いているかを洗い出す

  3. 3

    止めるか判断する

    すぐ更新できないなら、暫定策を入れるか、サイトを一時停止するか。判断材料をそろえて責任者に上げる

  4. 4

    修正版を適用する

    手順書をつくり、PHPを修正版に入れ替える。サーバーが多ければ、自動化ツールで一斉に

  5. 5

    動作を確認する

    フォーム送信、ログイン、決済など、サイトの大事な機能が今まで通り動くかを確かめる

  6. 6

    攻撃の跡を調べる

    更新前に攻撃されていなかったか、ログを確認する。怪しければ詳しい調査へ

派手さはありません。でも、この地味な作業が終わるまで、国内の多くのサイトは安心して開けなかった。インフラエンジニアの仕事が「社会の裏側を守る仕事」と言われるのは、こういう場面があるからです。

→ 普段の運用の仕事:運用保守とは?仕事内容を図解でわかりやすく解説

→ PHPが動く土台:Linuxとは?インフラ未経験のための基礎解説

SES・未経験者にとって何を意味するか

SESで現場に出るインフラエンジニアにとって、今回のような緊急対応は他人事ではありません。配属先が運用保守なら、1〜6のどこかに必ず関わります。

未経験で入った1年目なら、担当は「2. 影響範囲を調べる」や「5. 動作を確認する」あたり。手順書に沿って、サーバーのPHPの版を一台ずつ確認していく。そこからスタートです。

もうひとつ、すぐ使える話をします。SESでは、配属前に案件先との面談があります。そこで「最近気になったITニュースは?」と聞かれることも少なくありません。今なら、PHP2Shellは格好のネタです。

面談での答え方の例

「10月のPHPの脆弱性です。WordPressを更新しても直らず、サーバー側のPHPを上げる必要があると知って、アプリとインフラの役割の違いが具体的にわかりました。現場に入ったら、担当するサーバーで何がどの版で動いているかを、まず把握するようにしたいです。」

ポイントは、ニュースの感想で終わらせず「自分が現場でどう動くか」までつなげること。用語を暗記しているより、こっちのほうがずっと伝わります。

→ SESの仕組み:SESとは?「やめとけ」って本当? 未経験者の疑問にぜんぶ答えます

よくある質問

PHP2Shellとは何ですか?

2026年10月21日に修正版が公開された、PHP本体の重大な脆弱性2件(CVE-2026-109618、CVE-2026-109619)の通称です。ログインなしで、外部からサーバー上の任意のプログラムを実行されるおそれがあります。深刻度は共通の評価基準CVSS v4.0で9.2の「緊急」です。

WordPressやプラグインを更新すれば直りますか?

直りません。今回の穴はWordPressではなく、その下で動くPHP本体にあります。サーバー側のPHPを修正版(8.2.35・8.3.36・8.4.27・8.5.12)に上げる必要があります。WordPressやプラグインの更新は、これとは別の作業です。

自分のサイトが大丈夫か、どう確認すればいいですか?

サイトがどこで動いているかで変わります。レンタルサーバーなら、サーバー会社のお知らせで修正の完了を確認します。VPSやクラウドで自分がPHPを管理しているなら、自分で修正版に更新します。運用を外部に任せている場合は、制作会社や保守会社にPHPの版と更新状況を確認します。

PHP 8.1以前を使っている場合はどうすればいいですか?

PHP 8.1以前はサポートが終了しており、公式の修正版(そのまま使える配布物)は出ていません。サポート中の8.2以降への移行が基本です。移行前にはバックアップを取り、サイトの動作確認まで含めて計画的に進めます。なお8.2も2026年12月末でサポートが終わる予定です。

なぜこんなに大きなニュースになったのですか?

理由は3つあります。PHPがWebサイトの約7割で使われていること、ログイン不要で乗っ取りにつながる種類であること、修正版の公開前から悪用の試みが観測されていたことです。国内では首相と国家サイバー統括室がXで速やかな更新を呼びかけ、レンタルサーバー各社が予防のための停止やメンテナンスを行いました。

インフラエンジニアは脆弱性対応で何をするのですか?

情報収集、影響範囲の調査(どのサーバーでどの版のPHPが動いているか)、暫定対策やサイト停止の判断材料づくり、修正版の適用、適用後の動作確認、攻撃を受けていないかのログ調査を担います。未経験から入った人も、まずは手順に沿った確認作業から関わります。

まとめ

PHP2Shellは、Webサイトの約7割を支えるPHP本体に見つかった、ログイン不要で乗っ取りにつながる穴でした。WordPressの更新では直らず、サーバー側でPHPを入れ替える必要がある。だから首相まで呼びかける騒ぎになり、その裏でインフラエンジニアが夜通し動いていました。

「ニュースの裏側で、社会のシステムを止めずに守る」。それがインフラエンジニアの仕事です。少しでも気になったなら、まずは5分、下のロードマップ記事で、未経験からそこにたどり着くまでの道筋をのぞいてみてください。

→ インフラエンジニアの全体像:未経験からインフラエンジニアになるには?完全ロードマップ


IT ENGINEER APTITUDE

ITエンジニア適性診断

自分が IT エンジニアに向いているか、30 秒でわかる。 厚労省データに基づく年収レンジつき。

診断する(無料)
村上悠司

村上悠司(むらかみ ゆうじ)

株式会社キャリアハブ 代表取締役。外資系IT企業でのセールス経験約10年を経て、未経験エンジニアの育成に特化したSES企業を設立。

「ちょっと話を聞いてみたい」——それだけで大丈夫です。

キャリアハブは、未経験からインフラエンジニアを目指すあなたを全力でサポートします。

面接ではありません。気軽にどうぞ。

無料で相談してみる