CVE-2019-19248:EA Origin客户端本地权限提升漏洞
版本:Origin Client 版本 10.5.35.22222-0 (https://www.origin.com/usa/en-us/store/download) 测试操作系统:Windows 10 1709 (x64) 安全公告:https://www.ea.com/security/news/easec-2019-001-elevation-of-privilege-vulnerability-in-origin-client EA博客:https://www.ea.com/security/news/origin-security-update-in-collaboration-with-external-security-researchers
漏洞概述
漏洞类型:Origin客户端服务DACL覆盖权限提升 简要描述:当安装Origin时,它会附带几个不同的服务,例如"Origin Client Service"。低权限用户可以停止和启动此服务。当Origin客户端服务启动时,它会检查"C:\ProgramData\Origin\local.xml"文件是否存在。如果该文件不存在,它会创建该文件并向"Everyone"组授予对该文件的"完全控制"权限。由于低权限用户对此文件拥有权限,因此可以在"C:\ProgramData\Origin\local.xml"上创建硬链接并将其指向另一个文件,导致目标文件向"Everyone"组授予"完全控制"权限。
低权限用户可以利用此漏洞覆盖特权文件上的DACL,从而将权限提升至"NT AUTHORITY\SYSTEM"。
漏洞详细说明
当安装Origin时,它会附带几个不同的服务。其中一个服务是"Origin Client Service"。低权限用户可以停止和启动此服务:
当重新启动Origin Client Service时,它会检查"C:\ProgramData\Origin\local.xml"是否存在。如果不存在,它将创建该文件,然后设置文件的安全描述符,向Everyone授予对该文件的GENERIC_ALL权限:
由于低权限用户控制该文件,可以删除它并将其替换为指向特权文件的硬链接。在这种情况下,我们创建一个指向"C:\Program Files (x86)\Origin\OriginWebHelperService.exe"的硬链接(使用James Forshaw的符号链接测试工具):
创建硬链接后,重新启动"Origin Client Service"服务将导致其尝试在"C:\ProgramData\Origin\local.xml"上设置DACL,向"AuthenticatedUsers"组授予"完全控制"权限。由于存在硬链接,它将跟随该链接,最终在"C:\Program Files (x86)\Origin\OriginWebHelperService.exe"上设置DACL:
在"C:\Program Files (x86)\Origin\OriginWebHelperService.exe"上的DACL被覆盖后,要提升权限只需停止Origin Web Helper Service,替换"C:\Program Files (x86)\Origin\OriginWebHelperService.exe",然后再次启动服务:
由于"Payload.exe"不是服务可执行文件,服务将无法启动,但服务将启动它,cmd.exe将作为"NT AUTHORITY\SYSTEM"运行,从而导致权限提升。
此漏洞已在10.5.56.33908版本中修复。Origin团队重写了Origin客户端,包含"Restricted"模式,该模式在所有Origin文件上设置限制性ACL。
披露时间线
- 2019年3月13日:漏洞发送给EA安全团队
- 2019年3月14日:EA确认漏洞并分配案例编号
- 2019年3月28日:跟进EA,了解他们是否需要任何信息
- 2019年4月4日:EA将报告分类为高严重性问题,并通知我正在修复中,并通过额外搜寻发现了其他变体
- 2019年5月2日:联系EA,告知60天窗口即将到期
- 2019年5月23日:EA回复称仍在修复中,修复根本原因时遇到一些问题
- 2019年6月17日:联系EA,告知90天期限已过。要求更新状态并询问是否需要额外时间
- 2019年6月25日:EA告知在实施不会破坏旧游戏版本的修复时仍遇到问题。表示有前进方向,但需要一些时间开发。EA要求安排电话会议
- 2019年6月25日:回复EA的电话会议请求
- 2019年7月8日:与EA的安全和工程团队进行电话会议,由于问题修复的复杂性,同意定期延长30天
- 2019年8月12日:向EA发送问题的额外变体
- 2019年8月13日:EA告知新的Origin客户端初步版本处于Alpha阶段,表示计划在9月下旬至10月初进行修复
- 2019年9月6日:联系EA获取修复的预计时间表
- 2019年9月12日:EA回复称将在一周内提供测试版构建,并正在解决Mac客户端问题
- 2019年9月25日:EA提供测试版构建链接,附带修复设计决策和后续步骤的详细说明(最终发布到测试频道)。还提供了供审查的安全公告
- 2019年9月26日:回复EA确认收到测试版构建并对公告草案表示同意
- 2019年9月26日:向EA发送测试版构建的一些注意事项,修复似乎足够
- 2019年10月28日:联系EA获取发布时间
- 2019年10月28日:EA回复称已向Origin团队请求更新,并将在可能时提供更新。指出正在完成Mac重写
- 2019年11月13日:联系EA获取状态更新
- 2019年11月13日:EA回复新构建进入公共测试频道的时间。提供了新更新的Windows构建供我查看
- 2019年11月14日:回复EA,指出启用受限模式的测试版看起来不错
- 2019年12月9日:EA告知计划在10日向公众发布Origin更新并发布公告
- 2019年12月10日:公告发布,问题公开