CVE-2019-19248:EA Origin客户端本地权限提升漏洞
版本: Origin客户端版本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”组对该文件的“FullControl”权限。由于低权限用户对此文件有控制权,可以删除该文件并创建一个指向其他文件的硬链接,导致目标文件被授予“Everyone”组的“FullControl”权限。低权限用户可利用此漏洞覆盖特权文件的DACL,从而将权限提升至“NT AUTHORITY\SYSTEM”。
漏洞详解
安装Origin时,会附带多个服务,其中之一是“Origin Client Service”。低权限用户可以停止和启动此服务:
当重启Origin客户端服务时,它会检查“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”组“FullControl”权限。由于存在硬链接,操作会跟随链接并最终设置“C:\Program Files (x86)\Origin\OriginWebHelperService.exe”的DACL:
覆盖“C:\Program Files (x86)\Origin\OriginWebHelperService.exe”的DACL后,提升权限只需停止Origin Web Helper服务,替换“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通知修复实施问题,避免破坏旧游戏,请求安排电话会议
- 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日: 确认收到测试版,赞同咨询草案
- 2019年9月26日: 发送测试版反馈,修复似乎足够
- 2019年10月28日: 联系EA获取发布ETA
- 2019年10月28日: EA回复正在向Origin团队请求更新,Mac重写即将完成
- 2019年11月13日: 联系EA获取状态更新
- 2019年11月13日: EA回复新版本公开测试频道日期,提供更新Windows版本
- 2019年11月14日: 回复EA,测试版在启用限制模式下良好
- 2019年12月9日: EA通知计划12月10日发布Origin更新和咨询
- 2019年12月10日: 咨询发布,问题公开