2,000ドル相当のビットコインを25時間オンラインに置いたのに、世界中のハッカーが誰一人持ち去らなかった 🦖

📣 盘面异动群里喊

「Steal My Bitcoin」というサイトは、わざとパッチ未適用のPHPサーバーを公開し、その中にビットコインウォレットの秘密鍵を隠した。最初に手に入れた人が賞金を引き出せる仕組みだ。賞金は当初500ドルだったが、ネットユーザーの寄付で約2,000ドル、ビットコイン約0.025枚にまで増えた。公開から17時間以上たってもウォレットは空のまま。独立メディアが集計した時点では、すでに25時間以上持ちこたえていた。

ルールは厳格で、攻撃してよいのはウェブアプリとPHPコンテナのみ。ホストマシンに触れるのは禁止、インフラを停止させるのも禁止、サーバーに負荷をかけるのも禁止。すべての操作はログに記録される。要するに、これは公開型の懸賞実験だ。狙いは稼ぐことではなく、今年最も恐れられたネットワーク脆弱性によってビットコインウォレットがついでに空にされるわけではないと証明すること 💰

稼働していたのはPHP 8.4.26で、通称「PHP2Shell」と呼ばれる深刻な脆弱性2件、CVE-2026-109618とCVE-2026-109619の影響を受けるバージョンだった。どちらも深刻度は9.2で、メモリ管理に関するエラーだ。特定の設定では、攻撃者はログインなしでリモートからコマンドを実行できる。緊急パッチが公開されたのは10月21日。オランダ、オーストラリア、日本、フィンランドなどの政府機関は、その日のうちにリスク回避のためウェブサイトを停止した。

しかし、翌日になって話は思わぬ方向へ曲がった。独立研究者のLiveOverflowがこのサイトを公開分析し、レスポンスヘッダーからnginxとPHP 8.4.26を特定。その後、ローカル環境で挙動を何度も比較した結果、最も可能性が高いのは、nginxがリクエストをPHP組み込みのコマンドラインサーバーに転送しており、返されるのは静的なindexページで、indexスクリプトは実行されていないという構成だと分かった。この見立てが正しければ、深刻度9.2の脆弱性2件は、このマシンではそもそも攻撃できる入口がない。ハッカーが侵入できなかったのではなく、そこには最初から入口がなかったということだ ⚠️

私が思うに、この出来事の本当の価値は、2,000ドルを誰が手にするかではない。見落とされがちな違いを浮き彫りにしたことだ。同じ脆弱性でも、デプロイ方法が違えばリスクはまったく異なる。大きく門を開け放しているケースもあれば、門の向こうにもう一枚壁があるケースもある。だから、ハッキングされたかどうかで脆弱性の深刻さを判断すること自体が成り立たない。逆もまた同じで、公開チャレンジが誰にも突破されなかったからといって、その脆弱性が架空ということにはならない。

深刻度9.2は本当だし、10月21日のパッチも本物だ。アップグレードはやはり必要だ。

ビットコインは現在80,388ドルで、24時間で0.18%下落。イーサリアムは2,340ドル。相場に大きな動きはないが、サーバーのパッチ適用は一日たりとも先延ばしにできない。

本番環境でまだ影響を受けるバージョンのPHPを使っているなら、すぐに停止してアップグレードする? それとも、まず2日ほど様子を見る? コメント欄で聞かせて 👀

プロフィール画像をタップしてライブ配信を見る

毎日、オンチェーンセキュリティとビットコインの注目ニュースをお届け。ニュースで何が起きたかを見るだけでなく、その背景にある仕組みやチャンスも分かりやすく解説します 👀🚀