Microsoft警告Azure漏洞暴露客户源代码
微软本月早些时候通知了一组受最近发现的NotLegit漏洞影响的Azure客户,该漏洞至少自2017年9月以来就暴露了他们的Azure Web应用程序的源代码。
该漏洞由云安全公司Wiz发现,并于9月向微软报告。该问题已于11月修复,微软在过去几周内一直在调查有多少客户受到影响。
漏洞影响Azure网站托管功能
这个绰号为NotLegit的问题存在于Azure应用服务中,这是Azure云的一项功能,允许客户从源代码存储库部署网站和Web应用程序。
Wiz研究人员表示,如果Azure客户选择“本地 Git”选项从托管在同一Azure服务器上的Git存储库部署他们的网站,源代码也会在线公开。
微软今天在一篇博客文章中表示,通过这种方法部署的所有PHP、Node、Ruby 和 Python应用程序都受到了影响 。只有部署在基于Linux的Azure服务器上的应用程序受到影响,而不是那些托管在Windows Server系统上的应用程序。
Wiz团队在今天的一份报告中表示,早在2013年部署的应用程序就受到了影响,尽管暴露始于2017年9月,当时该漏洞被引入Azure的系统中 。
漏洞最有可能被利用
最危险的暴露场景是暴露的源代码包含一个.git配置文件的情况,该文件本身包含其他客户系统(例如数据库和 API)的密码和访问令牌。
在过去的十年中,有多个僵尸网络不断扫描互联网以查找意外暴露的.git文件,他们知道它们的内容可以让威胁行为者获得对更有价值的企业基础设施的访问权限。虽然威胁行为者可能不知道NotLegit漏洞本身,但Wiz的研究主管Shir Tamari透露,他认为该漏洞很可能被间接利用。
在今天的一次采访中,Tamari说他们为他们的测试创建了一个不安全的Azure托管网站,在四个小时的过程中,他们观察到五个不同的威胁行为者访问暴露的源代码和.git配置文件。
在引起注意后,微软采取了以下步骤:
- 我们更新了所有 PHP 图像以禁止将 .git 文件夹作为静态内容作为纵深防御措施。
- 通知因激活就地部署而受到影响的客户,并提供有关如何缓解问题的具体指导。我们还通知了将 .git 文件夹上传到内容目录的客户。
- 更新了我们的安全建议文档,增加了有关保护源代码的部分。我们还更新了就地部署的文档。
技术细节:
某些 Web 应用程序被编码为将内容文件夹中的所有文件作为静态内容提供服务。如果 .git 文件夹(包含源代码控制存储库的状态和历史记录)也在这些应用程序的内容文件夹中,那么其他人就可以通过对 Web 应用程序的请求下载文件。
.git文件夹可以在内容文件夹中的情况是:
- 在Git外部的内容根目录中创建或修改文件后, 通过本地Git部署的应用程序代码。
- 通过SCM_REPOSITORY_PATH启用就地部署的显式配置。这是高级用户操作。
- 当 .git文件夹在非GIT部署到应用服务期间包含在应用程序代码中时。
内容文件夹中的.git文件夹与提供静态内容的应用程序的组合使应用程序容易暴露源代码。
综合参考:
微软博文:
https://msrc-blog.microsoft.com/2021/12/22/azure-app-service-linux-source-repository-exposure
WIZ博文:
https://www.wiz.io/blog/azure-app-service-source-code-leak
