要約:
アカウントやパスワードを使用しなくても、ハッカーは Web サイトのサーバーに命令を受信させることができます。昨日、OpenAI はスリリングな舞台裏のオペレーションを公開しました。GPT-5.6 Sol は、世界の Web サイトの 70% で使用されている PHP 言語の 2 つの致命的な脆弱性を発見しました。

これを悪用すると、攻撃者
はアカウントのパスワードを入力せずにサーバーに直接悪意のあるコードを実行させることができます。
実際、普段はハッカーを防ぐ方法を他者に教えているオランダ国家インターネットセキュリティ局でさえ、このニュースを受け取った後の最初の反応は、すぐに
公式ウェブサイトを閉鎖
することでした。 !この穴をふさぐために、OpenAI と PHP のメンテナーは
2 か月間秘密裏に取り組みました
、ひっくり返して最初からやり直すことを躊躇しないでください。PHP エンジンのメモリ管理メカニズムも変更されました
。しかし、2 か月間秘密を保った後、
過去 48 時間
で完全に崩壊しました。 ——脆弱性情報が最初に漏洩したため、パッチは予定より 1 日早くリリースされることになりました。その後、攻撃デモビデオが誤って流出し、予定よりも早く修復画像が公開されました。

世界中のウェブマスターが対応してパッチを適用する前に、実際の攻撃の第 1 波がすでに進行していました。
さらに恐ろしいのは、OpenAI がイースターエッグも埋めたことです。これら 2 つは単なる前菜であり、他のいくつかの重大な脆弱性はまだ修復待ちの状態です...

今回、PHP が爆発的に増加しました。理解しておくべきことが 3 つあります:
2 つの高リスク脆弱性:
PHP は、Web サイトで一般的に使用されるバックエンド言語です。影響を受ける展開では、攻撃者がログインせずにサーバーに悪意のあるコードを実行させる可能性があります。GPT はホールの発見に参加します:
Calif は GPT の助けを借りてこの脆弱性を発見し、Wiz も独自にこの脆弱性を発見しました。 PHP のメンテナが修正を主導し、OpenAI がすべての関係者を調整しました。パッチがリリースされました:
Web サイト運営者は PHP をアップグレードする必要があり、一時的な保護ではパッチを置き換えることはできません。PHP が突然爆発し、ネットワーク セキュリティ機関が先にサイトを閉鎖しました。
この極秘の緊急修復では、ハッカーの防止を担当する組織も、危険を避けるためにウェブサイトを閉鎖する必要がありました。
パッチが到着する前は、公式 Web サイトがオフラインになっています。
10 月 21 日、オランダ国立サイバー セキュリティ センター NCSC は、まずサイトを閉鎖し、修復を待つことを選択しました。

閉鎖されたのはこれだけではありません。オランダ司法制度の採用ウェブサイトや司法研修機関のウェブサイトもサービスを停止し、裁判情報を記者に伝達する文書メールボックスさえも一時閉鎖された。
日本の財務省も、公式ウェブサイト上の一部のコンテンツとサービスを停止し、サーバーを緊急に点検し、設置および修復を行いました。
Web サイトの閉鎖を引き起こした 2 つの PHP エンジンの脆弱性は、総称して PHP2Shell と呼ばれています。
CVSS リスク スコアは 10 ポイント中 9.2 ポイントに達しました
。
最も危険な結果の 1 つは、
リモート コード実行 (略称:
) と呼ばれます。RCE
。訪問者からのリクエストのみを処理するはずの Web サイトが、攻撃者が指定したコードの実行を開始する可能性があります。Wiz は、最新の WordPress、Drupal、Joomla イメージを使用してテスト環境を構築し、ログインせずにリモート攻撃を再現し、メモリからパスワード、トークン、API キーを読み取る攻撃パスを検証しました。
一部の Apache および mod_php のデプロイメントでも、Web サイト独自のプログラムが開始される前に攻撃が発生する可能性があります。
ページに「Hello World」と 1 行しか書かれていない場合でも、感染する可能性があります。
問題は、PHP を使用している Web サイトが多すぎることです。
W3Tech がサーバー言語を認識できる Web サイトの 69.3% が PHP を使用しています。
基礎となるエンジンに問題があるため、多数の Web サイトをチェックしてアップグレードする必要があります。GPT は多大な貢献をしてきました
1 つの脆弱性からカテゴリ全体を検出する
7 月 30 日に遡ると、カリフォルニア州の研究者 Ryan Austin は PHP の監査を開始しました。彼は、AI を利用してオープンソース プロジェクトの穴の発見と修復を支援する OpenAI の Patch the Planet プログラムに参加しました。
8 月 1 日までに、複数のリモート攻撃パスが発見されました。
2004 年には、PHP のメモリ制限メカニズムにリモート攻撃の脆弱性があることが発見されました。 Ryan は GPT-5.6 Sol をエントリ ポイントとして使用し、同様の問題が既存のコードにまだ隠されているかどうかを確認しました。

プログラムはリクエストを処理し、データを一時的にメモリに置きます。 PHP は各リクエストにクォータを割り当て、それが使い果たされると処理が中断されます。この状況は
メモリ枯渇、つまり
と呼ばれます。OOM
。Calif によって公開された攻撃パスでは、
8MiB 未満のリクエスト データでも、処理中に PHP のデフォルトの 128MiB メモリ クォータを使い果たすのに十分です。
小さなリクエストが PHP に入力されると、リクエストは多数のレコードに分割され、それぞれが追加のメモリを占有します。攻撃者はこの増幅層を使用して、プログラムが特定のステップでそのクレジットを使い果たすことを可能にします。
PHP ルールに従って、この時点で操作を中断し、エラーの報告とクリーニングに移行する必要があります。
現時点では、データは半分しか入力されていない可能性があります。
モデルは、PHP 内にデータを保存するハッシュ テーブルに危険なシーケンスを発見しました。新しいレコードを追加するときは、
まずレコード数に 1 を追加し、次にメモリを適用してコンテンツを入力します。
。
メモリを適用するときに割り当てがなくなると、プログラムはジャンプします。新しいレコードはまだ入力されていませんが、カウントはすでに追加されています。
クリーンアップ プログラムはカウントをチェックし、未準備のメモリを有効なレコードとして使用します。
これは、まだ記入されておらず、完全なレコードとして使用されているフォーム内の行に相当します。
この種のエラーをリモート攻撃に変えるには、関連するメモリ内容を整理し、特定の動作条件を満たす必要があります。研究者らは、影響を受ける展開環境でプログラムに攻撃者が指定したコードを実行させました。
研究者たちは穴に留まりませんでした。
新しく発見されたエラー パターンを繰り返し使用できる監査ガイドである SKILL.md に書き込むようモデルに依頼しました。
、そして同じ手がかりを追って調査します。この調査の後、エージェントはファイルのアップロードの進行状況を記録するコードに別の問題を発見しました。
リクエストが異常終了し、
メモリは解放されますが、リクエストを処理するプログラムは古いアドレスを保持したままです。
。次のリクエストを受信すると、このアドレスを使用して期限切れのメモリを読み取ることができます。これは
リリース後の使用であり、UAF とも呼ばれます
。これは無効化された登録に相当しますが、プログラムは依然として古いアドレスに従ってデータを検索しており、そのメモリは再割り当てされている可能性があります。一方、Wiz も独自に 2 つの脆弱性を発見しました。 PHP のバージョンが変更されたり、動作環境が変更されたりすると、元の攻撃が無効になる可能性があるため、モデルを分析してクラッシュし、調整して検証する必要があります。
Wiz 研究者のサギ・ツァディクは X について次のように書いています:
"
AI
ほとんどの作業はここで行われます。 ”

PHP エンジンで手術を実行する
2 か月にわたる極秘の修理
攻撃経路の特定には数日かかりましたが、修復の準備には 2 か月かかりました。
今回は、OpenAI が修正の調整を主導し、PHP メンテナーが修正を主導しました。ただし、2 つの脆弱性がエンジンのメモリ管理とエラー処理に影響を及ぼし、直接の攻撃経路をブロックしており、同様の問題が他の場所でも発生する可能性があります。基礎となる層がオーバーホールされた場合、古いプログラムと拡張機能が引き続き実行できることを確認する必要があります。
PHP 財団は、チームが昼夜を問わず、週末であっても調整を行っていると述べました。パッチは複数のバージョンでテストする必要があり、発行者によってパッケージ化され、セキュリティ ベンダーによって保護される必要があります。
最終的には、PHP は作業を停止するタイミングさえも変更しました。
パッチを適用した PHP には 2 つのメモリ制限があります。
ソフトリミットに達しました
, 中途半端なデータが残らないように、プログラムが安全な場所に到達するまで待ってから処理を行ってください。より高いハードリミット
に達しています 、プロセスを終了させ、危険な状態が継続して使用されるのを防ぎます。過去 48 時間で秘密が次々に漏洩し、攻撃が先制されました
当初、すべての関係者は、10 月 22 日午後 10 時にリリースすることに同意しました。
しかし、20 日の午後 11 時頃、誤ったリリース時刻と 10 点満点のスコアが混在した 2 つの脆弱性番号が突然インターネット上に出回りました。この時点では、最初のリリースまで 48 時間も経っていませんでした。

21 日の午前 3 時 30 分に、PHP チームは事前通知を発行し、
正式リリースを丸 24 時間早めました
。ただし、通知が送信されたからといって、アップデートをインストールできるわけではありません。発行者はまだパッケージ化を行っており、それが進んでいる場合、ユーザーは危険にさらされていることを認識しますが、インストールが簡単な更新プログラムは入手できません。
トレーラーは約 30 分前に公開されましたが、攻撃デモのビデオもありませんでした。
PHP Foundation は、カリフォルニア州が誤って攻撃デモを送信したことを調査し、述べました。このビデオはすぐに削除されたが、コピーは出回った。
21日午後には、修正されたビルドイメージも先行公開された。 Chainguard がこれらのイメージをリリースすると、外部の世界は古いコードと新しいコードを比較して、脆弱性がどこにあるかを推測できます。
同日の午後 3 時 43 分、Cloudflare の最高技術責任者である Dane Knecht 氏は X に次のように投稿しました。
初期の攻撃が確認されました。

彼が投稿した時点では、パッチはその夜の 10 時までリリースされる予定ではありませんでした。
攻撃は終わりましたが、攻撃までにはまだ 6 時間以上あります。
Cloudflare は後に、攻撃者がすでにリクエストを変更して保護ルールをバイパスしようとしていることを明らかにしました。
Cloudflare は、Web アプリケーション ファイアウォールを使用して無料および有料の顧客に保護を導入しましたが、Dane 氏は、
これは一時的な対策にすぎず、パッチが公開されたらインストールする必要がある
と強調しました。 。21 日の夜、
PHP8.5.12、8.4.27、8.3.36、および 8.2.35
ついにリリースされました。 PHP チームは、パブリッシャー向けに 7.4、8.0、および 8.1 用の最小限のソース コード修正と、更新パッケージを作成するための長期サポート サービスも用意しました。
OpenAI プレビュー
さらに重大な脆弱性が今後も発生します
22 日の 0:35、OpenAI は、Web サイト運営者が PHP バージョンをチェックして影響を受ける可能性があるかどうかを判断できるようにする別の Codex チェック スキルをリリースしました。

PHP バージョンをチェックしますが、Web サイトのアップグレードを完了できません。バージョンさえ確認できない場合、これに基づいて安全であるとは判断できません。
OpenAI はすでに次のように発表しています。
PHP は、チームが発見し修正している多数の重大な脆弱性の 1 つにすぎません。
この種の発見は、今後数か月間で大幅に増加すると予想されます。
コメント