CVE-2019-19248:EA Origin客户端本地权限提升漏洞深度解析

本文详细分析了EA Origin客户端中的CVE-2019-19248漏洞,该漏洞允许低权限用户通过硬链接和DACL覆盖实现权限提升至SYSTEM级别,并包含漏洞修复时间线。

CVE-2019-19248: Local Privilege Escalation in EA’s Origin Client

December 10, 2019 by enigma0x3

版本: 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日: 公告发布,问题公开
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计