Dans le contexte: Sorti en 2013, Dota 2 est toujours l’une des expériences multijoueurs les plus populaires parmi les aficionados de MOBA. Et pendant 15 mois, des millions de joueurs Dota 2 ont été potentiellement vulnérables aux attaques d’exécution de code à distance en raison de la négligence de Valve.
Valve est connu pour prendre son temps pour créer un nouveau jeu Half-Life (en fait, n’importe quel nouveau jeu) ou compte jusqu’à trois. Le géant de la distribution numérique cofondé par Gabe Newell est apparemment aussi laxiste en ce qui concerne les failles de sécurité dangereuses, mettant en danger les joueurs de l’un de ses titres les plus populaires et laissant les pirates se déchaîner avec leurs expérimentations malveillantes.
Le titre MOBA gratuit Dota 2 est toujours extrêmement populaire même s’il a été initialement publié il y a près de 10 ans le 9 juillet 2013. Comme beaucoup d’autres jeux, Dota 2 intègre une version du moteur JavaScript V8 créé par Google pour le Projet Chrome/Chrome. Le problème fondamental ici est que, jusqu’à récemment, Valve utilisait encore une version obsolète du moteur V8 compilée en décembre 2018.
La version de plus de quatre ans était truffée de bogues de sécurité potentiellement dangereux. Le pire, c’est que Dota 2 n’exécute pas V8 avec une protection sandbox. Un mauvais acteur aurait pu exploiter le problème pour exécuter un code malveillant à distance contre les lecteurs Dota. Selon Avast, c’est ce que arrivé avant que Valve ne mette finalement à jour le moteur V8.
Les chercheurs d’Avast ont découvert qu’un pirate informatique inconnu testait un exploit potentiel contre CVE-2021-38003, une faille de sécurité extrêmement dangereuse dans le moteur V8 avec un indice de gravité de 8,8/10. Au début, le pirate a fait un test apparemment bénin en publiant un nouveau mode de jeu personnalisé – un moyen pour les joueurs de changer l’expérience Dota 2 – avec un code d’exploitation pour CVE-2021-38003 intégré à l’intérieur.
Après cela, le pirate a publié trois autres modes de jeu, utilisant une approche plus secrète en adoptant une simple porte dérobée de seulement « une vingtaine de lignes de code ». La porte dérobée pourrait exécuter des scripts JS arbitraires téléchargés à partir d’un serveur de commande et de contrôle via HTTP. L’astuce astucieuse a permis à l’attaquant de garder le code d’exploitation caché et de le mettre à jour facilement sans soumettre un nouveau mode de jeu personnalisé pour examen et découverte potentielle. En d’autres termes, cela aurait permis au pirate d’exécuter dynamiquement du code JavaScript (et probablement l’exploit CVE-2021-38003) en arrière-plan.
Google a corrigé CVE-2021-38003 en octobre 2021. Pendant ce temps, le pirate informatique inconnu a commencé à expérimenter en mars 2022. Les développeurs de Dota 2 n’ont pas pris la peine de résoudre le problème avant janvier 2023, lorsqu’Avast les a informés de ses découvertes. Une analyse plus approfondie pour trouver d’autres exploits a échoué, tandis que les véritables motivations du pirate Dota 2 restent inconnues.