Azure 应用服务漏洞造成数百个源码库泄露
Wiz 研究团队在 Azure 应用服务中检测到一个不安全的默认行为,该行为暴露了使用“Local Git”部署的用 PHP、Python、Ruby 或 Node 编写的客户应用程序的源代码。Wiz 团队将该漏洞命名为“NotLegit”,并指出这一漏洞自 2017 年 9 月以来就一直存在,很可能已经被利用。
Wiz 于 2021 年 10 月 7 日向微软报告了这个安全漏洞。微软方面在 12 月 7 日至 15 日期间向一些受影响严重的用户发送了警报邮件,目前该漏洞已经得到缓解;但还有一小部分用户可能仍处在风险当中,建议应适当采取保护措施。
根据介绍,Azure App Service(也称为 Azure Web Apps),是一个基于云计算的平台,用于托管网站和 Web 应用程序。有多种方法可以将源代码和工件部署到 Azure App Service,Local Git 就是其中之一。用户通过 Azure App Service 容器启动 Local Git 仓库,并将代码直接推送到服务器上。
问题在于,在使用 Local Git 部署方法部署到 Azure App Service 时,git 存储库是在任何人都可以直接访问的目录 (/home/site/wwwroot) 中创建的;Wiz 将此举称为微软的一个“怪癖”。而为了保护用户的文件,微软会在公共目录内的 .git 文件夹中添加了一个"web.config"文件,以限制公共访问。但是,只有微软的 IIS 网络服务器可以处理"web.config"文件。因此对于同样使用 IIS 部署的 C# 或 ASP.NET 应用程序,此缓解措施是有效的。
但对 PHP、Node、Ruby 和 Python 这些部署在不同 Web 服务器(Apache、Nginx、Flask 等)中的应用而言,这一缓解措施就会无效,从而导致容易受到攻击。“基本上,攻击者所要做的就是从目标应用程序中获取"/.git"目录,并检索其源代码。”
影响范围包括:
- 自 2017 年 9 月起,在 Azure 应用服务中使用“Local Git”部署的所有 PHP、Node、Ruby 和 Python 应用。
- 自 2017 年 9 月起,在应用容器中创建或修改文件后,使用 Git 源代码部署在 Azure 应用服务中的所有 PHP、Node、Ruby 和 Python 应用。
对此,Microsoft 安全响应中心在一份公告中回应称,Wiz 报告的这一问题导致客户可能会无意中配置要在内容根目录中创建的 .git 文件夹,从而使他们面临信息泄露的风险。
“这与配置为提供静态内容的应用程序结合使用时,会使得其他人可以下载不打算公开的文件。我们已经通知了我们认为因此而面临风险的有限的一部分客户,我们将继续与我们的客户合作,确保他们的应用程序的安全。”
Customer Impact:
- 在内容根目录中创建或修改文件后使用 Local Git 部署应用程序的 App Service Linux 客户会受到影响。
- PHP、Node、Python、Ruby 和 Java 应用程序编码以提供静态内容:
- PHP:用于 PHP 运行时的图像被配置为在内容根文件夹中提供所有静态内容。微软方面已经更新了所有 PHP 图像,禁止将 .git 文件夹作为静态内容提供,作为纵深防御措施。
- Node、Python、Java 和 Ruby:对于这些语言,由于应用程序代码控制它是否提供静态内容,微软建议客户检查代码,以确保只有相关的代码被提供出来。
不过,并非所有 Local Git 用户都受到了影响。在应用程序中创建文件后,通过 Local Git 将代码部署到 App Service Linux 的用户是唯一受影响人群。且 Azure App Service Windows 不受影响,因为它在基于 IIS 的环境中运行。
微软为此采取的具体解决措施为:
- 更新了所有 PHP 图像以禁止将 .git 文件夹作为静态内容提供,作为纵深防御措施。
- 通知因激活本地部署而受到影响的客户,并提供有关如何缓解问题的具体指导。还通知了将 .git 文件夹上传到内容目录的客户。
- 更新了安全建议文档,增加了有关保护源代码的部分。同时更新了本地部署的文档。
由于报告了这一漏洞,Wiz 方面还获得了来自微软的 7500 美元赏金,但该公司计划将这笔资金捐献出去。
详情可查看官方博客

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RheaTrace —— 高性能 Android trace 工具
btrace(又名 RheaTrace) 是一个基于 Systrace 实现的高性能 Android trace 工具,它支持在 App 编译期间自动注入自定义事件,并使用 bhook 额外提供 IO 等 native 事件。 主要特性 支持自动注入自定义事件,在编译 Apk 期间为 App 方法自动注入Trace#beginSection(String) 和 Trace#endSection()。 提供额外 IO 等 native 事件,方便定位耗时原因。 支持仅采集主线程 trace 事件。 使用便捷,稳定性高,性能优于 Systrace。 已知问题 RheaTrace 仅支持 python2.7,请注意检查 python 环境。 RheaTrace 暂不支持 Windows。 RheaTrace 仅支持采集主进程的 trace 事件。 RheaTrace 需要外置存储的读写权限,因此您需要手动赋予该权限。 如果您无法直接打开输出产物 systrace.html ,请用 perfetto 加载。
- 下一篇
Vivaldi 推出首个 Android Automotive 系统浏览器
Vivaldi 是一个基于 Chromium 的跨平台浏览器,由 Tatsuki Tomita 和 Jon Stephenson von Tetzchner 创立,后者曾是 Opera 的联合创始人兼 CEO。Vivaldi 于 2016 年 4 月 6 日正式推出。截至 2021 年 9 月,Vivaldi 的活跃用户超过 230 万。 近日,Vivaldi 将旗下基于 Chromium 的浏览器移植到 Android Automotive 上,使其成为该操作系统上的第一个网络浏览器,进一步扩展了其支持的平台。Android Automotive 版本的浏览器将率先登陆 Polestar 2 电动汽车(Polestar 中文名为“极星”,是沃尔沃旗下的高性能电动汽车品牌)。 电动汽车上的车载系统如今正朝着智能化和娱乐化的方向发展,功能也越来越丰富,但对于在车载系统上运行 Android Automotive 的汽车来说,此前并没有一款可供用户使用的浏览器。 Android Automotive 与 Android Auto 不同,后者只是通过有线或蓝牙连接的方式将手机上的 Andro...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路