此漏洞是 Squirrel 3.2 及更低版本中 thread_call 函数内的基于堆的缓冲区溢出。它是由缺少对 sq_reservestack 函数的调用引起的。此漏洞会导致客户端拒绝服务(DoS),并可能造成沙箱逃逸和任意代码执行。
要利用此漏洞,攻击者必须运行特制的 Squirrel 字节码或源文件。这可以通过多种方式实现。例如,服务器将游戏地图发送给客户端,然后有人执行恶意的 Squirrel 脚本。另一种受到攻击的方式是将恶意游戏模组安装到您的服务器上。
针对此漏洞有一个修复提交。要应用修复程序,您应从该提交开始从源代码重新编译项目。
许多游戏使用 Squirrel 作为主要脚本语言。这些游戏的开发者必须尽快应用修复程序。
在修复程序发布之日起 90 天内,我们不会提供 PoC。或许我们稍后会提供。