
- PHP2ShellはWordPressやDrupalを使う多数のサイトに影響し得た脆弱性
- 発端は2024年報告のメモリ不足バグ。AI支援で任意コード実行に発展
- 修正は4人・2か月。発見と修正の非対称性が課題として浮上
PHP2Shellとは何か
2026年10月下旬、PHP2Shellと呼ばれる脆弱性が明らかになった。WordPressやDrupalの上で動く多数のサイトが、ホストサーバー上で機密データを読み出したり、任意のコードを実行されたりする危険にさらされたとされる。記事では影響し得るサイトとしてNASA、Wikipedia、ホワイトハウスの名も挙げられている。
発見したのはセキュリティ研究者で、PHP Foundationに報告され、悪意ある攻撃者の手に渡る前に修正プログラムが公開された。現時点で実害は確認されていない。
ただし記事は、これを「炭鉱のカナリア」と位置づける。人間が40年かけて書いてきたレガシーソフトウェアの脆弱性が、AIによって次々と表面化する時代に入ったという見方だ。
発端は2024年のクラッシュ
問題のバグは2024年にはPHP Foundationに報告されていた。内容はout-of-memoryエラー、つまりあるデータに割り当てられたメモリが小さすぎて収まらないというものだ。通常はプログラムが落ちるだけで危険とは見なされず、放置されていた。
転機は2026年に入ってから訪れる。セキュリティ企業CalifがOpenAIのスポンサーを受けてPHPの独立監査を申し出て、AIツールの助けを得た研究者が2週間以内に、このバグを使ってサーバー上で任意のコードを実行する方法を発見した。修正が急がれる重大な脆弱性へと格上げされた格好だ。
コロンビア大学のSuman Jana准教授は、悪用にはメモリの特定箇所を狙ってビットを順番に書き換える地道な推論が必要だと説明する。ロケット科学ではないが、人間には苦痛な作業であり、AIはそこを得意としているという。
発見と修正の非対称性
脆弱性が判明した後、4人のエンジニアが2か月かけて修正プログラムを開発した。Jana氏は「バグの発見と修正には根本的な非対称性がある」と指摘する。修正では攻撃経路をすべて塞いだうえで、既存の機能を壊していないことを確認しなければならないからだ。
この負担は、明確な収益源を持たないオープンソースプロジェクトほど重い。AIによる攻撃ツールの高度化によって、長年指摘されてきた問題がより差し迫ったものになっている。
対策として、最先端AIを手がける企業がトークン予算の一部を脆弱性調査に提供する動きがある。Jana氏はこうした取り組みがもっと広がるべきだと話している。
形式検証と悲観論
修正側を自動化する動きとして、形式検証ツールの進展がある。Anthropicは10月22日に新たなリリースを行った。Jana氏によれば、パッチをLLMが生成し、そのパッチが正しいことの証明もLLMが生成する仕組みで、証明を検査する部分だけはLLMに任せられない。LLMは誤った内容をもっともらしく出力することがあるためだ。
一方、ジョンズ・ホプキンス大学のMatthew Green准教授は悲観的だ。「本当に悪いことが起きるまで誰も直さない」と述べ、PHP2Shellはその閾値には達していないと見る。時期は2027年初頭ごろになるかもしれないという。
同氏の実務的な助言は単純で、セキュリティアップデートが出たら翌週まで待たずに適用することだ。Jana氏も、PHP2Shellは最後の事例ではないと述べている。
| 項目 | 発見側 | 修正側 |
|---|---|---|
| 担当 | Califの研究者1名(AIツールを利用) | エンジニア4名 |
| 所要期間 | 監査開始から2週間以内 | 2か月 |
| 主な要件 | メモリ上の狙う箇所と書き換えるビット順を特定する詳細な推論 | 攻撃経路をすべて塞ぎ、既存機能を壊さないこと |
One of the things we're witnessing now is that all the legacy software that was written by humans over the last 40 years is being exposed... Now it is time for the technical debt to be paid off.
今目の当たりにしていることの一つは、人間が過去40年にわたって書いてきたレガシーソフトウェアがすべて露出させられているということだ。……そろそろ技術的負債を返済する時だ。
今後の見通し
当面の焦点は、発見の高速化に修正と検証が追いつけるかどうかだ。Anthropicが10月22日に示した形式検証関連の取り組みのように、LLMがパッチとその正しさの証明を生成し、証明の検査だけを形式的手法に残す流れが実運用に乗るかが分かれ目とみられる。最先端AI企業によるトークン予算の提供が一時的な支援で終わるのか、定常的な仕組みになるのかも注目点だ。判断材料としては、PHP以外のレガシーソフトウェアで同様の事例がいつ、どの程度の規模で発生するか、発見から修正までの期間が今後短縮されるかを示すデータが挙げられる。
日本の開発者・IT企業にとっての意味
PHPは日本でも受託開発や既存Webシステムの保守で広く使われており、WordPressやDrupalベースのサイトも多い。今回の事例は、こうした身近な技術スタックに、報告から2年近く放置されていたバグが潜んでいたことを示す。AIによって発見側のコストが下がれば、同種の「クラッシュ止まり」のバグが次々と重大な脆弱性に格上げされる可能性がある。発見が速くなるほど、修正パッチを適用するまでの時間が実務上のリスクになる。社内で依存しているオープンソースの棚卸し、更新適用のリードタイム短縮、保守リソースの確保が現実的な備えとなる。形式検証ツールの進展は修正側の自動化につながるが、記事時点では発見側ほどの自動化には至っていない。
気になる点
- PHP2Shellは日本企業のシステムにも影響しますか
- 記事はWordPressやDrupal上で動く多数のサイトが影響を受け得ると伝えており、国内でこれらを使うサイトも無関係とは言えない。修正プログラムは悪意ある攻撃者が悪用する前に公開され、実害は確認されていないとされる。ただし具体的なバージョンや影響範囲の詳細は原文に記載がない。
- AIを使った脆弱性診断は誰でも利用できますか
- 原文には一般的な提供条件や料金の記載はない。CalifによるPHPの独立監査はOpenAIがスポンサーしたとされ、最先端AI企業がトークン予算の一部を脆弱性調査に充てる動きがあると紹介されている。個人や中小企業が同じ手段を使えるかは現時点で公表されていない。
- まず何から手を付ければよいですか
- 記事で示されている最も具体的な助言は、セキュリティアップデートが届いたら翌週まで待たずにすぐ適用することだ。Matthew Green氏はスマートフォンの更新通知を例に挙げ、先延ばしを避けるよう促している。原文はこれ以外の具体的な対策には触れていない。
用語解説
- out-of-memoryエラー
- データに割り当てられたメモリが不足し、収まらない状態。通常はプログラムの異常終了を招く。
- 任意コード実行
- 攻撃者がサーバー上で意図したプログラムを動かせる状態。機密情報の窃取やマルウェア導入につながる。
- 形式検証
- 数学的な証明によってプログラムの正しさを確かめる手法。テストと異なり、対象のケースを網羅できる。
- パッチ
- ソフトウェアの不具合や脆弱性を修正するための更新プログラム。
- フロンティアラボ
- 記事では、最先端のAIモデルを開発する企業や研究機関を指す。
出典
AI is forcing us to pay off 40 years of technical debt
https://spectrum.ieee.org/ai-in-cybersecurity-php2shell-vulnerability
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する