Microsoft Security Response Center(MSRC)は米国時間12月22日、「Microsoft Azure」上で発見された「NotLegit」脆弱性への対応をブログで発表した。この脆弱性は、クラウドセキュリティ企業Wiz(Wiz.io)によって発見、報告されていたものだ。
Wizによると、影響を受けるのは、「Azure App Service」内のクリーンなデフォルトアプリケーション上で、2017年9月以降に「Local Git」を用いてデプロイしたすべてのPHPやNode.js、Ruby、Pythonのアプリケーションだという。また、アプリケーションコンテナー内でファイルを作成したり、修正したりした後、2017年9月以降にGitソースを用いてAzure App Service内にデプロイしたすべてのPHPやNode.js、Ruby、Pythonのアプリケーションも影響を受けるという。
MSRCによると、この問題の影響を受けるのは、Linux版のApp Serviceを利用しており、コンテンツのルートディレクトリーでファイルを作成、あるいは修正した後でLocal Gitを用いてアプリケーションをデプロイした顧客だという。同社はまた、この事象が発生するのは「システムが、現在デプロイされているファイルをリポジトリーコンテンツの一部として保存しようとし、デプロイメントエンジン(『Apache Kudu』)がインプレースデプロイメントと呼ぶ状態に移行するためだ」としている。
MSRCは「PHPのランタイムによって使用されるイメージでは、コンテンツのルートフォルダー内にあるすべての静的コンテンツを提供するように設定されていた。この問題が報告された後、より厳しい保護対策として、.gitフォルダーを静的コンテンツとして提供しないよう、PHPのすべてのイメージをアップデートした」と記している。
「またNode.jsとPython、Java、Rubyの場合、静的コンテンツを提供するかどうかはアプリケーションコード側で制御するようになっているため、顧客はコードをレビューし、適切なコードのみが提供されるようになっていることを確認するよう推奨する」(MSRC)
またMSRCは、Local Gitの全ユーザーがこの脆弱性の影響を受けているわけではなく、「Windows」版のAzure App Serviceは影響を受けていないとしている。
Microsoftは既に、この脆弱性の影響を受けたと考えられる顧客に対して通知済みだ。これらの中には、インプレースデプロイメントを有効化したことで影響を受けた顧客や、コンテンツディレクトリーに.gitフォルダーをアップロードした顧客が含まれている。また同社は、Security Recommendation(セキュリティ推奨)文書を改訂し、ソースコードをセキュアにする上での注意事項となる新たなセクションを追加するとともに、インプレースデプロイメントに関する文書を改訂した。
Wiz Research Teamは12月21日付けブログで、この問題をMicrosoftに報告したのは10月7日のことであり、その後約1カ月間、彼らの問題解決に協力したとしている。この問題のフィックスは11月にデプロイされ、顧客には既に通知されている。Wizはバグ報奨金として7500ドル(約86万円)を受け取ったという。
Microsoftはこの脆弱性が実際に悪用されたかどうかについて言及していないものの、Wizは「NotLegit」という手法が「極めて容易かつ一般的なものであり、活発に悪用されている」としている。
Wizは、「われわれが見つけたこの問題にさらされている可能性を見極めるために、脆弱なAzure App Serviceをデプロイし、利用されていないドメインにつないで、誰かがその.gitファイルにリーチしようとしていないかどうかを確認しようと辛抱強く待った。驚きはないが、デプロイから4日以内に、未知のアクターから.gitフォルダーへの複数のリクエストがあることを確認した」と述べている。
「Microsoftが2021年12月7~15日に発した複数の電子メールのアラートで詳述されているように、少数の顧客グループはまだこの脆弱性にさらされている可能性があり、アプリケーションを保護するためにユーザーによる特定の対策をとるべきだ」(Wiz)
また、Wiz Research Teamは、ユーザーエラーでGitフォルダーを意図せず暴露することは、大規模な組織にも影響する恐れのあるセキュリティの問題となると指摘する。国際連合(UN)や多数のインド政府のサイトが過去にこのようにして暴露されたことがあるという。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。