Amazonによると、攻撃者は2件の重大なリモートコード実行(RCE)の脆弱性を抱えるサーバーを、修正プログラムの公開より4日前から探索していました。
この2件の脆弱性はPHP2Shellと呼ばれ、CVE-2026-109618とCVE-2026-109619として追跡されています。PHP Foundationと業界パートナーが数週間かけて修正の作成、検証、確認に奔走し、10月21日にパッチが公開されました。
10月20日には、両方の問題がオンライン上に流出し、概念実証(PoC)エクスプロイトの拡散が加速しました。複数の組織がこの動きを観測しましたが、悪用の試みは成功しなかったとしています。
Amazonによると、PHP2Shellの最初の悪用は10月17日に発生しました。この時点で脆弱性はまだエンバーゴ(公開禁止措置)下にあり、攻撃元は商用の匿名化ネットワークでした。
「匿名化されたIPアドレスからハニーポットが狙われたことから、攻撃者による活動とみられます。ただ、公開前にどのようにして脆弱性の情報を入手したのかは不明です」とAmazonは説明しています。
Amazonは、公開の約12時間前にも、別の匿名化インフラからPHP2Shellの複数のPoCを確認しました。ペイロードや発信元に違いがあることから、複数の攻撃者が関与し始めていたとみられます。
「エンバーゴが解除されてパッチが公開されると、数時間以内に新たなPoCエクスプロイトが出現し、ほぼ即座にセンサーへの攻撃に使われるのを確認しました。PHP2Shellは現在、実環境で広範に悪用されています」とAmazonは指摘しています。
WatchTowrも、パッチ公開の直後に大規模な悪用を観測しました。ただし、出回っているPoCのいずれもRCEには成功していません。
「予想どおりの展開で、WatchTowr Intelは広範な悪用の試みを確認しています。粗雑なPoCコードがX(旧Twitter)に投稿され、GitHubにも公開されています。無差別にばらまかれているエクスプロイトは、まったく動作しないか、タイミングの差を調べるだけか、標的をクラッシュさせるかのいずれかです」と、WatchTowrの脅威インテリジェンス責任者であるJake Knott氏は、メールで送付した声明で述べています。
Hadrian、Patchstack、Cloudflareはいずれも、修正の公開より数時間前に悪用の試みを確認したと報告しています。
「公開発表の10時間前の時点で、Cloudflareのネットワーク全体で、悪用の試みを数千件確認しました」と、CloudflareのCEOであるMatthew Prince氏は木曜日の早朝に述べています。「発表後45分で数万件、2時間で数十万件に急増し、現在は数百万件に達しています」
さらにJFrogは、偽のPoCエクスプロイトやいたずら目的のマルウェアがGitHubで公開されているのを確認しました。
VulnCheckはSecurityWeekに対し、少なくとも1件の中国のIPアドレスがPHP2Shellを悪用してウェブシェルの設置を試みたものの、失敗したと明らかにしました。
VulnCheck、VirusTotal、Censysによると、10月21日時点で100万台を超えるPHPサーバーが、パッチ未適用のバージョンを実行していました。
Censysによると、10月21日に確認されたインターネットに公開されたホスト258万台のうち、PHPのバージョンを特定できたのは約158万台で、そのうち約157万台にパッチが適用されていませんでした。10月22日の時点で、同プラットフォームは、PHPを実行するインターネット公開ホストを約300万台追跡しています。
VulnCheckは、PHPを実行するインターネット公開ホストを260万台超確認しており、そのほぼすべてが脆弱でした。少なくとも100万台はサポート終了(EoL)のPHPバージョンを実行しています。内訳は、PHP 3.xから7.3が70万台超、PHP 7.4、8.0、8.1が約40万台です。
VirusTotalによると、PHPを実行するIPアドレスは約510万件ありますが、HTTPヘッダーでバージョンを公開しているのは110万件にとどまります。このうちサポート対象のPHPバージョンを実行しているのは約27万2000件のみです。大半の約75万8000件は、EoLのバージョン(PHP 5.4から8.1)を実行しています。
これらのPHPホストの大半(約92万台)は米国にあります。朗報として、AWS、DigitalOcean、Alibaba、OVHcloud、Hetznerなど、ごく少数のプロバイダーに集中しています。そのため、設定の一括適用やWAFルールで対処できる見込みです。
セキュリティ業界の反応
水曜日、米サイバーセキュリティ機関のCISAは、PHP 8.5.12、8.4.27、8.3.36、8.2.35のいずれかへ直ちに更新するよう、各組織に呼びかけました。これらのバージョンには、PHP2Shellの両脆弱性の修正が含まれています。
「各組織は迅速なパッチ適用に苦労するでしょうが、さらに難しいのは、パッチが必要なものをすべて見つけ出すことです。今回のような事態は、忘れ去られたアプリケーションやシャドーシステム、ネットワーク管理者でさえ存在を把握していないPHP環境を浮き彫りにします」と、BlueVoyantのCISOであるJohn Harbaugh氏は述べています。
ThreatLockerの共同創業者兼CTOであるMichael Jenkins氏は、構成によってはセキュリティチェックの実行前にコードを実行される恐れがあると指摘します。そのため、関係者全員が緊急アップデートを直ちに適用し、侵害の兆候の調査を始めるべきだとしています。
「すべてのシステムにパッチを適用するまでは、ウェブに公開されたプロセスが起動、アクセス、接続できる対象を制限する対策が、攻撃者の選択肢を減らします。こうした対策はパッチ適用の代わりにはならず、あくまで最後の砦です。適用後も継続すべきです。PHPプロセスに必要なのは、通常、サイトの稼働に必要なファイルとネットワークサービスへのアクセスだけです。それ以外をすべて制限すれば、侵害されたウェブサーバーが、事業全体への侵入口になることを防ぎやすくなります」とJenkins氏は付け加えました。
Forescoutの脅威ハンティング担当シニアマネージャーであるSai Molige氏と、Expelのプリンシパル脅威リサーチャー(元ハッカー)であるMarcus Hutchins氏は、PHP2ShellをLog4Shellに匹敵する脅威だと見ています。
「PHP2Shellは、Log4Shell級の事態になりかねませんが、その理由は異なります。Log4jでは、自社が使っていると把握していないライブラリを見つけ出すことが主な課題でした。PHPでは、忘れられたインフラの多くは見つかるものの、上流の修正が提供されません。Log4jからの永続的な教訓は、『Xがどこで稼働しているかを、どれだけ速く特定できるか』を、パッチ適用の速度とは別に、測定可能な能力として扱うべきだということです」とMolige氏は述べています。
「PHP2ShellはLog4jの5割ほどの深刻度といったところでしょう。影響は非常に広範で、直接の悪用はより悪質です。一方で、Log4jほどサードパーティ製ソフトウェアに深く組み込まれていないため、影響の長期化や間接的な悪用は小さくなります」とHutchins氏は述べています。
翻訳元: https://www.securityweek.com/php2shell-exploitation-started-days-before-patches/