古い木の机の上に、真鍮の錠前と鍵、赤い封ろうのついた封筒が並んでいる

10月22日の朝、X(旧Twitter)で、こんな呼びかけを見ました。

皆様に、今夜に対応して頂きたい大至急のお願いです。

高市早苗さんのアカウントの、前の日(10月21日)の投稿でした。「多くのウェブサイトで使われているPHPに、重大な穴が2つ見つかった。修正は21日の夜11時に出るので、すぐ当てられるように準備してほしい」という内容です。僕が読んだ22日の朝には、修正はもう出ていました。

僕は、温泉ブログ(温泉ランド.com)と、このブログ(pilnmeness.com)の2つのサイトを持っています。どちらもPHPで動いています。それで、AI(Claude)に「僕のサイトで、やったほうがいいことはある?」と聞きました。

PHPの件が片づいたあと、同じ朝、別の話も流れてきました。こちらはサイトではなく、僕のパソコンの話でした。

この記事では、2つの件を、小学生にも分かるように説明します。そのあとで、僕のサイトとパソコンで何が問題で、何をしたかを書きます。

まず、2つの件をひとことで

PHPの件証明書の件
どこの話?ウェブサイトを動かすサーバー自分のパソコンやスマホ
たとえるとお店の裏口の鍵が、こわれていた「本物です」のシールが、だれでも作れるようになっていた
何がこわい?知らない人が、勝手にサーバーで命令を動かせる偽物のサイトが、本物のふりをできる
だれが直す?サーバーの会社(と、サイトの持ち主)パソコンやアプリを、自分で新しくする
僕の場合サーバーの会社が直していた。1つは自分でも版を上げたいくつかの道具が古いままで、直した

1つ目:PHPの件

PHPってなに?

ウェブサイトのページは、だれかが見に来るたびに、サーバーという大きなコンピューターで作られています。そのページを作る「料理人」のような役目のプログラムが、PHPです。

WordPress(ブログを作る道具)もPHPで動いています。世界中の、とても多くのサイトが使っています。

読む人見せて!サーバー(お店)PHP(料理人)ページを作る裏口鍵がこわれていた悪い人ページ

どんな穴だったの?

今回見つかったのは、PHPそのものにある穴でした。2つあります。どちらも、ログインしなくても、外から、サーバーの上で勝手にプログラムを動かせてしまうおそれがあるものです。

お店でたとえると、裏口の鍵がこわれていて、知らない人が入ってきて、厨房で好きなことができてしまう状態です。ニュースでは「PHP2Shell」という呼び名でも伝えられました。

PHPを作っている人たちは、10月21日(日本時間の午後11時ごろ)に、穴をふさいだ新しい版を出しました。

PHPの系列(版の仲間)穴をふさいだ版
8.58.5.12
8.48.4.27
8.38.3.36
8.28.2.35

この表より古い版を使っていると、危ないということです。8.1 より前の系列には、直した版が出ていません。系列ごと新しくする必要があります。

だれが直すの?

ここがポイントです。僕のようにレンタルサーバー(サーバーを借りるサービス)を使っている場合、PHPの本体を新しくするのは、サーバーの会社の仕事です。

ただし、サーバーの会社によっては、サイトごとに「どの系列のPHPを使うか」を持ち主が選べます。8.1 より前の古い系列を選んだままだと、直った版になりません。なので、持ち主も「自分のサイトの版が、上の表の版以上になっているか」を確かめる必要があります。

修正が出るまでの「すき間」

穴が知られてから、直った版が当たるまでには、どうしても時間のすき間ができます。AIが調べたところでは、今回は、攻撃が始まったという報告が、修正が出る前の10月21日の夕方から出ていました。

あぶない「すき間」(約8時間)10/21 夕方攻撃の報告10/21 23時ごろ直した版が出る10/22 0時〜0時50分サーバーの会社が更新10/22 朝僕が気づいて確認

すき間のあいだに入られていたら、穴をふさいだあとも、入った人の「足あと」が残っているかもしれません。なので、版を確かめるだけでなく、知らない管理者が増えていないか、覚えのないプラグイン(追加の部品)が入っていないかも見ることにしました。

2つ目:証明書の件

証明書ってなに?

ネットで銀行やお店のサイトを開くと、アドレスの横に鍵のマークが出ます。これは、そのサイトが「本物です」というシール(証明書)を見せているからです。

シールは、だれでも作れるわけではありません。認証局という、信用された発行元だけが、本物のハンコを押して作れます。ブラウザは「信用してよい発行元の一覧」を持っていて、その一覧にある発行元のハンコなら、本物だと判断します。

認証局シールの発行元印本物のハンコ銀行のサイト本物です(証明書)ブラウザ信用してよい発行元の一覧A社 OKB社 OK…見せる一覧の発行元のハンコなら、鍵のマークが出る

何が起きたの?

インドの認証局 eMudhra の、「中間」の発行元8つで(大もとの発行元から、シールを作る仕事を任された下の発行元のことです)、秘密の鍵の作り方に不備がありました。そのせいで、証明書から秘密の鍵を取り出せる状態になっていました。

秘密の鍵は、本物のハンコそのものです。それを取り出せるということは、だれでも本物のハンコを押せるということです。グーグルや銀行など、自分のものではないサイトの「本物です」シールまで作れてしまいます。

10月17日に報告されると、ブラウザや OS(パソコンやスマホの土台になるソフト)を作っている会社が、すぐに動きました。「このハンコはもう信用しない」という一覧(失効の一覧)を配ったのです。

だれいつから遮断したか
Firefox・Chrome10月17日
Apple(iPhone・Mac)10月19日
Microsoft(Windows)10月20日

じゃあ、もう安全?

ブラウザや Windows を新しくしていれば、多くの場合は安全です。ところが、落とし穴がありました。

パソコンの中には、ブラウザ以外にも、ネットにつなぐ道具がたくさんあります。その中には、自分専用の古い「信用一覧」を持っていて、Windows が配った「もう信用しない一覧」を見ない道具があります。そういう道具は、偽のシールを本物だと信じてしまいます。

偽の「本物です」シール取り出された鍵で作ったもの新しい一覧を見る道具Windows・Chrome・Edge など弾く(安全)古い一覧のままの道具古いままの git・Python・Node など通してしまう(危険)

偽のシールを使うには、もう1つ条件がいる

偽のシールを持っているだけでは、まだ悪さはできません。悪い人は、通信の途中に割りこんで、本物のサイトへ行くはずの通信を、偽のサイトへすり替える必要があります。

家の回線では、まず起きません。ただ、カフェなどの公衆 Wi-Fi では起きる可能性があります。すり替えられると、パスワードや、サービスを使うための鍵を盗まれるおそれがあります。

自分で確かめる方法

この件では、確かめ用のサイトが用意されていました(Mozilla の担当者が作ったものです)。

  • ブラウザで https://dv-g3b-emudhra.we-have-a-problem.com/ を開く
  • 証明書のエラー画面が出れば安全です。偽のシールを弾いている、という意味です
  • ふつうにページが表示されたら、そのブラウザは古いままです。ブラウザと OS を新しくしてください

僕の環境は、こうなっている

僕の持ち物を1枚にすると、こうなります。PHPの件はサーバーの上の2つのサイト、証明書の件はパソコンの中の道具の話です。

借りているサーバー(XREA)PHPの穴 → サーバーの会社が直す温泉ランド.comWordPress(PHPで動く)pilnmeness.com(このブログ)WordPress・ゲーム(PHPで動く)僕のパソコン証明書の件 → 道具ごとに自分で直すブラウザgitPythonNodeAIの道具(Codex・Claude Code)緑=はじめから安全 赤=直す必要があった記事を送る

僕のサイトで起きたこと・やったこと

PHPの版

AIの案内で、WordPress の管理画面から版を見ました。場所は「ツール → サイトヘルス → 情報 → サーバー」です。

サイト前見たときそのあと
温泉ランド.com8.5.10(10月4日の記録・穴あり)8.5.12(直った版)そのまま
pilnmeness.com不明8.2.35(直った版)僕が 8.5.12 に上げた

どちらのサイトも、サーバーの会社(XREA)が、10月22日の0時〜0時50分に「セキュリティとソフトウェアの更新」をしていました。お知らせにPHPとは書いていませんでしたが、管理画面で版を見ると、どちらも直った版になっていました。

pilnmeness.com は、8.2 の系列でした。8.2.35 で今回の穴はふさがっています。ただ、AIから「8.2 は2026年12月末で修正が出なくなる」と聞きました。来年からは、新しい穴が見つかっても、8.2 には直した版が出ません。それで、その場で 8.5.12 に上げました。

上げたあと、AIが外からページを開いて確かめました。トップページ、記事、ログイン画面、ゲーム3本、どれもふつうに表示されました。検索だけ、1回目に一度エラーが出ましたが、やり直すと毎回ふつうに動きました。

すき間に入られていないか

確かめたこと温泉ランド.compilnmeness.com
知らない管理者はいないかいない(僕と、下書き用のアカウントだけ)いない(僕だけ)
覚えのないプラグインはないかないない(AIの知らない名前があったが、前にAIに作らせた自作の道具だった)
使っていないプラグイン止めたまま5つ残っていた → 消した—

pilnmeness.com で AI が「知らない」と言ったのは、Xの投稿を分析しやすい形に変えるための道具でした。前に AI に作らせて、自分で入れたものです。管理画面では、作者が「OpenAI」と表示されていました。これは、プラグインの中に書いてある文字が、そのまま表示されるしくみだからです。だれかが本人だと確かめたわけではありません。名前だけで安心も心配もせず、中身と、自分に覚えがあるかで判断します。

止めてあるプラグインも、ファイルはサーバーに残ります。使わないものは消したほうが、入り口が減ります。AIにそう言われて、温泉ランドの5つを消しました。消したあとも、サイトはふつうに表示されました。

僕が自分で作ったPHPのプログラム(ゲームやクリックの計測など)は、直す必要がありませんでした。今回の穴は PHP 本体のもので、僕のプログラムが動く前に入られてしまう種類だからです。PHP本体が直れば、一緒に守られます。

僕のパソコンで起きたこと・やったこと

AI(Claude と Codex)に、パソコンの道具ごとに、確かめ用のサイトへつないでもらいました。つながったら危険、エラーになったら安全です。

道具何に使っているかはじめやったことあと
Windows・curl・PowerShellふだんの通信安全なし(Windows が新しい一覧を配っていた)安全
Chrome・Edgeネットを見る安全なし(僕が開いて、エラー画面を確かめた)安全
gitプログラムの保存危険Windows と同じ確かめ方を使う設定に変えた安全
NodeAIの道具など危険直った版(v24.22.1)に入れ替えた安全
Pythonブログの下書き登録など危険部品を新しくし、Windows と同じ確かめ方を使う部品(truststore)を入れた安全
Codex の中の Python別のAI(Codex)の作業危険Codex に頼んで、同じ部品を入れてもらった安全
Codex の中の Node別のAI(Codex)の作業危険アプリを更新しても直らなかった。Codex に頼んで、新しい一覧を使う設定を足してもらった(仮の対策)安全
Codex のブラウザ操作用の Node別のAI(Codex)のブラウザ操作安全なし(はじめから弾いていた)安全
Claude CodeこのAIの道具まだ試していない(古い版)これから更新する—

いちばん大事だったのは Python です。このブログの下書きを登録する道具も、Python で通信しています。もし公衆 Wi-Fi ですり替えられていたら、ブログに入るための鍵を盗まれる道すじになりえました。

Python は、部品(certifi)を新しくすると、その部品を使う通信は直りました。でも、Python に最初から入っている通信の部品(urllib)は直りませんでした。この部品は、Windows が配った「もう信用しない一覧」を見ないからです。そこで、truststore という部品を入れて、Windows と同じ確かめ方を使うようにしました。入れたあと、確かめ用のサイトは弾き、ふだんのブログの通信はこれまでどおり動くことを確かめました。

AIどうしで、答えが食い違った

途中で、こんなことがありました。

Codex(別の会社のAI)に、Codex の中の道具を調べてもらいました。その報告を、Claude が確かめ直しました。すると Claude は、ブラウザ操作用の Node はまだ危ない、Codex が足した設定で起動しなくなるおそれがある、と指摘しました。

ところが、Codex がもう一度調べて、原因の見当を示しました。Claude が確かめると、そのとおりでした。Claude が試験に使っていた作業場所には、Node の確かめ方を変える設定が、もともと入っていたのです。その設定を外して試し直すと、Codex の報告のほうが正しいと分かりました。Claude はこう書きました。

Codex の報告のほうが正しく、前回の私の指摘は2つとも間違いでした。すみません。

2つのAIに同じことを確かめさせると、どちらかの思いこみが見つかることがあります。今回は、Codex の報告漏れ(ブラウザ操作用の Node)を Claude が見つけ、Claude の試験の間違いを Codex が見つけました。

まとめ:自分でできること

  1. ブラウザと OS を、いつも新しくしておく。ブラウザで見るサイトについては、今回の証明書の件はこれで防げました
  2. 確かめ用のサイトがあるときは、ブラウザで開いてみる。エラー画面が出れば安全です
  3. サイトを持っている人は、PHPの版を見る。サーバーの会社が直していても、8.1 より古い系列を選んだままだと、直った版が出ていません
  4. 穴が知られてから直るまでの「すき間」があったら、知らない管理者やプラグインが増えていないかを見る
  5. 使っていないプラグインは消す
  6. パソコンで、ブラウザ以外の道具(プログラムを作る道具など)を使っている人は、道具ごとに確かめる。ブラウザが安全でも、道具は古いままのことがあります

分かったこと

「大至急」と言われて、最初はあわてました。でも、ひとつずつ見ていくと、サイトのほうはサーバーの会社がもう直していました。僕がしたのは、版を確かめて、入られた跡がないかを見て、古い系列を上げたことでした。

むしろ、自分では気づいていなかったのは、パソコンの中の道具のほうでした。ブラウザで確かめて「安全」と出ても、裏で動く道具は古い一覧のままでした。見えている所が安全でも、見えていない所は別に確かめる。今回いちばん学んだのは、そのことでした。

おすすめ商品

PR
【ポイント10倍 10/20 00:00~10/21 23:59まで】アルティム…

【ポイント10倍 10/20 00:00~10/21 23:59まで】アルティム…

10月22日に楽天市場 ジャンル別ランキングから選んだ商品