Service Fabric权限提升:从Linux容器化工作负载到集群控制
在协调漏洞披露(CVD)框架下,云安全供应商Palo Alto Networks向微软报告了一个影响Service Fabric(SF)Linux集群的问题(CVE-2022-30137)。该漏洞使得攻击者能够通过访问受感染的容器,提升权限并控制资源所在的SF节点主机及整个集群。
尽管该漏洞存在于两个操作系统(OS)平台,但仅在Linux上可被利用;Windows经过全面审查,未发现易受此攻击。此权限提升问题的修复于2022年5月26日提供,并已应用于所有订阅自动更新的客户。
客户影响
未启用自动更新的客户应将其Linux集群升级到最新的SF版本。版本说明可在此处找到。自动更新Linux集群的客户无需采取进一步行动。
此外,如果您运行的是SF Windows集群,则不受此问题影响。然而,我们始终建议保持更新到最新版本。
微软建议客户继续审查所有被允许访问其主机集群的容器化工作负载(包括Linux和Windows)。默认情况下,SF集群是单租户环境,因此应用程序之间没有隔离。创建隔离是可能的,有关托管不受信任代码的额外指导可在Azure Service Fabric安全最佳实践页面上找到。
微软的缓解措施
一旦此问题被报告给微软,我们采取了以下步骤进行调查和缓解:
- 2022年5月24日 - 我们在SF运行时中修复了权限提升漏洞,并开始为启用自动更新的客户进行更新;具体来说,SF诊断收集代理(DCA)被修改为不消费用户生成的文件写入容器的日志文件夹。
- 2022年6月9日 - 我们更新了公共安全指南,包括有关托管不受信任代码或容器被入侵的影响的详细信息。
- 2022年6月14日 - 为此问题发布了CVE-2022-30137,修复已部署给利用自动更新的客户。未启用自动更新的客户通过Azure服务健康收到门户通知。
技术细节
要成功利用此漏洞进行攻击,需要以下有序步骤:
- 攻击者必须入侵由Linux SF集群所有者部署的容器化工作负载。
- 容器内运行的恶意代码可以用符号链接替换DCA读取的索引文件。
- 通过额外的定时攻击,攻击者可以控制托管SF节点的机器。
根据设计,在SF集群中,托管SF节点的机器上的root访问不被视为安全边界;节点上的最高特权角色在同一集群中的任何地方都具有同等特权。
Palo Alto Networks发布了一篇关于此问题的博客,可在此处查看。我们感谢有机会调查Palo Alto Networks报告的发现,并感谢他们在我们的漏洞赏金计划条款下进行安全研究。有关微软漏洞赏金计划及其条款和条件的更多信息,可使用这些链接找到。
附加参考
- 微软发布的CVE-2022-30137
- Azure Service Fabric版本说明