📺 この記事は YouTube チャンネル きなこもっちーのテック深掘り の動画解説記事です。
▶️ 動画はこちら → PHPの重大な脆弱性、自分のサイトは対象?修正が止まった理由まで
🐹🦜 この記事に登場する2匹
- 🐹 もっちー (ハムスター)… AI はまだ勉強中。「それどういうこと?」と素朴に質問する生徒役
- 🦜 きなこ (セキセイインコ)… AI で調べものをこなす解説役。やさしく深掘りして教える先生役
この記事は2匹の掛け合いを書き起こした形式です。発言の先頭にいる絵文字+名前が話者です。
はじめに
🐹 もっちー「きなこ、PHPの脆弱性のニュースを見たよ。ぼくのサイトも危ないの?」
🦜 きなこ「落ち着いて。10月21日に、PHP本体の重大な脆弱性が2件、修正されたの。深刻度はどちらもCVSS v4.0で9.2だよ」
🦜 きなこ「Webを処理するPHPは、基本的に対象なの。修正版は、8.5.12、8.4.27、8.3.36、8.2.35だよ」
🐹 もっちー「ぼくは、レンタルサーバーを借りてるだけだよ……」
🦜 きなこ「その場合は、事業者の告知を見るのが先なの。それと、7.4から8.1には公式の修正版がないんだよ」
🦜 きなこ「この動画では、自分のPHPが対象かの見分け方と、修正がなぜここまで止まったのかを整理するね」
自分のPHPは対象?
🐹 もっちー「待って。PHPのバージョンの数字を見れば、直ってるかどうかは一発で分かるんでしょ?」
🦜 きなこ「そう思うよね。8.2以降なら、修正版以上の数字でまず安心できるのは確かなの。でも、数字だけでは決められないことがあるんだよ」
🐹 もっちー「数字が古いのに、直ってることもあるの? それって、どうやって分かるの?」
🦜 きなこ「Linuxの配布元は、版番号を変えずに修正だけ取り込むことがあるの。だから古く見えても、直っている場合があるの。OpenAIの確認ツールの説明書きにも、同じ注意があるんだよ」
🐹 もっちー「ってことは、数字だけ見て「大丈夫」も「危ない」も言えないんだね」
🦜 きなこ「そう。だから、配布元の告知で確かめてね」
🦜 きなこ「対象は、Webを処理するPHP全般なの。Apacheの中で動かすmod_phpや、別の担当として動かすPHP-FPM、FrankenPHPなどだよ」
🦜 きなこ「中でもmod_phpが、一番リスクが高いと公式は書いているよ」
🐹 もっちー「借りてる場合、事業者さんは動いてくれてるのかな?」
🦜 きなこ「日本でも、レンタルサーバー事業者などが緊急メンテナンスに入った、または予告したと報じられているの。借りている人は、事業者の告知の確認が最初の一手だよ」
🦜 きなこ「自分で動かしている人は、修正版へ更新して、PHPのプロセスを再起動するまでが一組なの。更新だけだと、動いているものは古いままなんだよ」
🐹 もっちー「再起動まで必要なんだ。7.4から8.1の人は、どうすればいいの?」
🦜 きなこ「公式の修正リリースがないから、配布元や延長サポートの提供元の対応を確認することになるの。ソースには最小限の修正の枝があるだけなんだよ」
🦜 きなこ「更新できない間の暫定策も公式にあるけど、被害を減らす可能性はあっても、安全にはならないと書いてあるの」
何が壊れるの?
🐹 もっちー「ところで、どこが壊れるの? サイトの作りが悪いと、狙われちゃうんでしょ?」
🦜 きなこ「そう考えたくなるよね。でも今回は、サイトの書き方だけの話じゃなくて、PHP本体の側にも問題があるの」
🦜 きなこ「公式は、mod_phpだと、アプリのコードが動き出す前の段階で成り立つデモがあると書いてるの。PHP-FPMでは、アプリ側のコードを通る経路で確認した、と財団は書いているよ」
🐹 もっちー「じゃあ、PHPの中で、なんでメモリが壊れちゃうの?」
🦜 きなこ「1つ目は、メモリが足りなくなった場面なの。PHPはそのとき、longjmpという仕組みで、処理を途中でやめて一気に戻るんだよ」
🐹 もっちー「机を片付けてる途中で、急に呼ばれて戻されるみたいな感じ?」
🦜 きなこ「いいたとえだね。中途半端な机を、あとから来た後片付け係が、ちゃんとした状態だと思って触っちゃう。そこでメモリが壊れるの」
🐹 もっちー「もう1つは、どんなバグなの?」
🦜 きなこ「2つ目は、使い終わって回収したはずの場所の情報が、あとから別の処理に読まれてしまうバグなの。次のお客さんの対応を始める前に起きるんだよ」
🐹 もっちー「回収されたはずのメモが、受付に貼り残されてて、誰かが読んじゃうみたいな感じ?」
🦜 きなこ「そのとおり。解放したあとのメモリを使ってしまう、use-after-freeという種類なの。2件とも、メモリ安全性の問題と分類されているよ」
🐹 もっちー「どっちも、PHP本体の中の片付けの問題なんだね。サイトの書き方だけが原因じゃないんだ」
修正はなぜ止まった?
🦜 きなこ「白状するとね、私はこれを、ただの見落としだと読んでたの。でも財団の説明を読んで、見立てが甘かったと分かったの」
🐹 もっちー「見落としじゃなかったの? 何があったの?」
🦜 きなこ「PHP財団の説明だと、2024年に、数年ぶりの外部セキュリティ監査があったの。実施したのはQuarkslabだよ」
🦜 きなこ「その報告の1つを直していた、財団が契約しているコア開発者が、メモリ不足の問題の最初の兆候に気づいたの」
🐹 もっちー「兆候があったのに、なんですぐ直さなかったの?」
🦜 きなこ「悪用はありうるとは考えられたけど、具体的な経路は見つからなかったの。それで、影響がはっきりした問題が先に回されたと、財団は説明しているよ」
🐹 もっちー「ってことは、直し方を決めるのにも、時間がかかったの?」
🦜 きなこ「案が競合してたの。互換性が壊れる案、新しい障害を生みうる案、たくさんの拡張に手を入れる案。合意で動くチームは、決めきれなかったそうだよ」
🦜 きなこ「その結果、修正の作業は、何か月にもわたって、止まっては再開した、と財団は書いているの」
🐹 もっちー「それは、もどかしいね……」
🦜 きなこ「財団自身が、遅れは構造的な失敗だったと認めているの。決め方と、人手の足りなさ、その両方が原因だって。ここは財団の言葉の引用だよ」
🦜 きなこ「財団は、多数決で決められるようにして、妥協を促す形へ進め方を変えている最中だとも書いてるよ」
AIは誰の功績?
🐹 もっちー「そういえば、AIが見つけたって話も聞いたで!やっぱりAIってすごいんやな!」
🦜 きなこ「そう言いたくなるよね。でもこれは、当事者それぞれの説明なの。誰が何と言っているかを、分けて見るね」
🦜 きなこ「見つけたCalifは、自社の記事で、調査にLLMの助けを借りたと書いてるの。モデル名はなくて、初期の発見には特別な道具や非公開のモデルは使っていない、とも書いているよ」
🐹 もっちー「OpenAIは、なんて言ってるの?」
🦜 きなこ「OpenAIは、CalifがGPT-5.6 Solで重大な1件を見つけたと発表した、と報じられているの。発表の原文は、確認できていないよ」
🦜 きなこ「「我々の知る限り、攻撃者より先に最先端のAIが見つけた」というのが、OpenAIの主張なんだよ」
🦜 きなこ「Wizは、自社の記事で、自社のツールと複数のモデルを使ったと書いているよ」
🐹 もっちー「みんなAIを使ったって言ってるのに、AIの手柄って言い切れないの?」
🦜 きなこ「財団の説明では、兆候は2024年に、人の監査の対応の中で出ていたの。AIがどこまで効いたかは、どれも当事者の自己申告で、第三者が検証したとは言えないんだよ」
🦜 きなこ「だから、AIのおかげとも、関係ないとも言えないの。言い切れないこと自体が、今回の大事なポイントなんだよ」
公開前後の主張
🐹 もっちー「公開の前に、先に情報が出ちゃったって聞いたよ。公開日まで黙っておく約束とか、あるの?」
🦜 きなこ「あるの。修正が行き渡る前に詳細を広げないための約束で、エンバーゴって呼ぶんだよ」
🦜 きなこ「今回、財団の説明では、日本時間の10月21日0時ごろ、2件のCVE番号がフォーラムやSNSに出回ったの。公開時刻と深刻度の数字は、誤りだったそうだよ」
🐹 もっちー「深刻度は、9.2じゃなかったっけ?」
🦜 きなこ「うん、正しいのはCVSS v4.0の9.2。出回った数字が違ったの」
🦜 きなこ「このあと、研究した会社の1つが動画を誤って公開したと、財団は書いているの。この動画では、その映像は扱わないよ」
🦜 きなこ「財団は、リリースを22日から21日に前倒ししたとも書いているよ。そこへ、Chainguardという会社が、修正入りのビルド済みイメージを予定より早く公開したの」
🐹 もっちー「財団は、なんて言ってるの? Chainguardが悪いってこと?」
🦜 きなこ「財団は「一方的にエンバーゴを破った」と批判してるの。Chainguard側は、報道によると、すでに攻撃を受けている人がいたから修正を出した、と話しているよ」
🦜 きなこ「ただ、その証拠は記事では示されていないの。Amazonは10月17日に攻撃の試みを観測したと書いていて、成功したかは不明だよ」
🦜 きなこ「一方でCISAは、掲載時点で悪用は観測していないと書いているの。どちらが正しいかは、この動画では決めないでおくね」
🐹 もっちー「見ている人によって、見え方が違うんだね。どれが本当か、まだ分からないや」
まとめ
🦜 きなこ「そうだね。だから最後に、確かなことだけまとめるね。自分のPHPが対象かは、自分で動かしているか、借りているかで、最初の一手が変わるの」
🦜 きなこ「今日やってほしいのは、1つだけ。自分のPHPを、自分で更新するものと、事業者に任せているものに分けて、書き出してね」
🐹 もっちー「分けるだけなら、ワイにもできそうやん!」
🐹 もっちー「この分け方、あとで見返したいから保存しとこ!」
🐹 もっちー「そういや飼い主、レンタルサーバーのお知らせメール、開かんと溜めてそうやな」
🦜 きなこ「ふふ、それは言わないであげて。でも今回は、お知らせメールこそ大事なの」
🦜 きなこ「みんなは、自分のPHPがどこで動いてるか、分かってる? コメントで教えてね」
🦜 きなこ「AIと脆弱性の話は、前の動画でも、玄関は変わっても鍵の弱さは変わらない、という切り口で扱ってるよ。気になったらそっちも見てね」
🐹 もっちー「それじゃ今日はこのへんで!」
きなこもっちーのテック深掘り では、AI/LLM を中心としたテック全般をハムスター(🐹 もっちー)とセキセイインコ(🦜 きなこ)の掛け合いで楽しく解説しています。
▶️ 動画で観る → PHPの重大な脆弱性、自分のサイトは対象?修正が止まった理由まで
👍 この記事が役に立ったら LGTM・ストックしてもらえると励みになります!
📺 チャンネル登録はこちら → きなこもっちーのテック深掘り
🔗 他の解説動画も見る → きなこもっちーのテック深掘り の動画一覧
































