【ITニュース解説】HOW I FOUND THE CVE-2025–0133?
2025年10月04日に「Medium」が公開したITニュース「HOW I FOUND THE CVE-2025–0133?」について初心者にもわかりやすく解説しています。
ITニュース概要
「CVE-2025-0133」は、あるシステムに見つかったセキュリティ上の弱点を示す識別番号である。この記事では、筆者がこの重要な脆弱性をどのように見つけ出したのか、その詳細な調査プロセスや発見に至るまでの具体的な経緯を解説している。
ITニュース解説
システムエンジニアを目指す人にとって、ソフトウェアの「脆弱性」は避けて通れない重要なテーマだ。今回は、最近発見され「CVE-2025–0133」という共通番号が割り振られた、ある深刻な脆弱性について、その発見者がどのようにして見つけ出したのか、その道のりを詳しく解説する。この事例は、セキュリティ研究者がどのようにシステムの弱点を見つけ出し、それがどれほど重要な意味を持つのかを教えてくれる良い例だ。
この「CVE-2025–0133」は、具体的に「Microsoft Azure Site Recovery (ASR) vCenter Server Appliance (vCSA)」という製品のコンポーネントで見つかった脆弱性だ。ASR vCSAは、企業がオンプレミス、つまり自社で運用しているVMwareの仮想化環境を、MicrosoftのクラウドサービスであるAzureと連携させる際に使われるソフトウェアの一部だ。例えば、災害時に備えて自社の仮想サーバーのデータをAzureにバックアップしたり、Azure上で復旧させたりするために利用される。この脆弱性は、「認証されていないファイルアップロード」という種類で、さらに「任意のコード実行」を可能にしてしまう、非常に危険なものだった。簡単に言えば、ログインしていない第三者が、サーバーに勝手にファイルを送り込み、そのファイルをサーバー上で自由に実行できてしまうという状況を指す。
脆弱性を発見した研究者は、まずこのASR vCSAの仕組みを理解することから始めた。特に、vCSAが持つウェブベースの管理インターフェースに注目した。ウェブインターフェースは、ウェブブラウザを使ってソフトウェアを操作するための画面のことだ。研究者は、https://<vCSA-IP>:5480/index.htmlのようなURLでアクセスできる管理コンソールを突き止めた。ここで、通常はウェブサイトがファイルを受け取る際に使われるようなパスを推測し、https://<vCSA-IP>:5480/upload.phpという、ファイルアップロードに関連しそうなURLを発見した。
次に、このupload.phpに対して、ログインなどの認証なしにファイルをアップロードできるか試した。通常、このようなファイルアップロード機能は、不正な操作を防ぐために認証が求められるものだが、もし認証なしで使えれば、それは既に深刻な問題の第一歩となる。最初は簡単なテキストファイルやHTMLファイルをアップロードしてみたが、サーバーからエラーが返ってきた。さらに、ウェブサーバーで実行される可能性のあるPHPファイルを直接アップロードしようとしたが、これも失敗した。
エラーメッセージから、サーバーがアップロードされるファイルの「MIMEタイプ」や「拡張子」をチェックしているらしいと推測した。MIMEタイプとは、ファイルの種類を示す情報で、例えば画像ならimage/png、圧縮ファイルならapplication/zipといったものだ。研究者は、この制限を回避するために、様々なMIMEタイプを試した。そしてついに、MIMEタイプをapplication/zipに偽装し、ファイル名の拡張子を.zipにすると、ファイルアップロードが成功することを発見した。これで、認証なしにサーバーにファイルを送り込むことができるようになった。
しかし、単に.zipファイルを送り込めるだけでは、任意のコード実行にはならない。次のステップは、アップロードしたファイルがサーバーのどこに保存され、どのように処理されるのかを突き止めることだった。研究者はサーバーのファイルシステムを探索し、アップロードされたファイルが/var/www/html/というディレクトリに保存されていることを特定した。このディレクトリは、ウェブサーバーが公開している場所であり、ここに実行可能なファイルが置かれれば、ウェブブラウザ経由でアクセスして実行できる可能性が出てくる。
ところが、単にWebサーバーが公開しているディレクトリに.zipファイルを置いても、それはデータとして表示されるだけで、プログラムとしては実行されない。研究者は、今度はディレクトリトラバーサルなどの別の脆弱性と組み合わせることで、より直接的に実行可能なファイルを配置できないか模索した。例えば、../../../../tmp/evil.phpのようにパスを操作して、ウェブサーバーの公開ディレクトリの外にファイルをアップロードしようと試みたが、これは失敗に終わった。
ここで研究者は発想を転換した。アップロードされた.zipファイルが、後にサーバー側の何らかの処理で「自動的に解凍される」可能性はないだろうかと考えたのだ。もしそうであれば、.zipファイルの中に仕込んだ悪意のあるPHPファイル(ウェブシェルと呼ばれる、サーバーを遠隔操作するためのプログラム)が、解凍された際にウェブ公開ディレクトリに展開され、実行可能な状態になるかもしれない。
この仮説を検証するため、研究者は、中に簡単なウェブシェルを含んだ.zipファイルを作成し、先ほど見つけた方法でサーバーにアップロードした。そして、しばらく待ってみたところ、ウェブサーバーのアクセスログに、アップロードしたPHPファイルが実行された痕跡が確認された。これは、サーバーが自動的に.zipファイルを解凍し、その中身のPHPファイルをウェブ公開ディレクトリに展開し、さらにそのPHPファイルがウェブブラウザからのアクセスによって実行されたことを明確に示していた。
この一連の発見により、認証されていない攻撃者が、ASR vCSAアプライアンスに対して、ログインなしで任意のファイルをアップロードし、さらにそのファイルを自動的に解凍・実行させることで、サーバー上で好きなプログラムを動かせてしまうという、非常に深刻な「任意コード実行」の脆弱性が完全に証明されたのだ。
この「任意のコード実行」が可能になる脆弱性は、セキュリティの観点から見て最も危険な部類に入る。攻撃者はこの脆弱性を悪用することで、ASR vCSAアプライアンスのシステム全体を完全に制御できるようになる。これは、サーバー上の機密データへの不正アクセス、システムの破壊、他のシステムへの攻撃の踏み台にされるなど、計り知れない損害をもたらす可能性がある。この脆弱性には、共通脆弱性評価システム(CVSSv3)のスコアで9.8という「Critical(緊急)」の評価が与えられており、その深刻度がどれほど高いかを物語っている。
脆弱性を発見した研究者は、その詳細を速やかにMicrosoftに報告した。Microsoftは、この報告を受けて問題の検証と修正作業を行い、最終的にこの脆弱性に対処するセキュリティパッチをリリースした。これにより、ASR vCSAを利用しているユーザーは、パッチを適用することでこの脅威からシステムを保護できるようになった。研究者のこのような活動が、世界のITシステム全体の安全性を高める上で非常に重要な役割を果たしている。
今回の「CVE-2025–0133」の発見事例は、システムエンジニアを目指す皆さんにとって、ソフトウェアの脆弱性がどのように生まれ、どのように発見され、そしてどのような影響をもたらすのかを具体的に理解する良い機会になるだろう。システム設計や開発の際には、認証の仕組み、ファイルのアップロード処理、そしてサーバーサイドでのファイル処理など、あらゆる側面に潜在的なセキュリティリスクがないかを常に意識する必要がある。また、セキュリティ研究者が地道な試行錯誤を重ねてシステムの深部に潜む弱点を見つけ出すプロセスは、技術的な探求心と忍耐力の重要性を示している。システムの安全性を守ることは、ITに携わるすべての人の重要な責任だ。