
Documentation technique et analyse de CVE-2022-30292, un débordement de tampon sur le tas dans Squirrel 3.2 menant à un déni de service, une évasion de sandbox et une exécution de code arbitraire via des fichiers bytecode ou source conçus de manière malveillante.
Cette vulnérabilité est le débordement de tampon basé sur le tas dans la fonction thread_call de Squirrel 3.2 et inférieur. Elle est causée par l'absence d'appel de la fonction sq_reservestack. Cette vulnérabilité conduit à un DoS du client et pourrait éventuellement conduire à une évasion du bac à sable et à l'exécution de code arbitraire.
Pour exploiter la vulnérabilité, quelqu'un doit exécuter un bytecode Squirrel ou un fichier source malveillant. Cela peut être réalisé de plusieurs façons. Par exemple, un serveur envoie la carte du jeu au client et celui-ci exécute le script Squirrel malveillant. Une autre façon d'être attaqué est d'installer un mod de jeu malveillant sur votre serveur.
Il existe un correctif pour cette vulnérabilité. Pour appliquer le correctif, vous devez recompiler le projet à partir des sources depuis ce commit.
Il existe de nombreux jeux qui utilisent Squirrel comme langage de script principal. Les développeurs de ces jeux doivent appliquer le correctif dès que possible.
Nous ne fournirons pas la PoC avant 90 jours à compter de la date de publication du correctif. Peut-être la fournirons-nous plus tard.