
Esta vulnerabilidade consiste no estouro de buffer baseado em heap na função thread_call no Squirrel 3.2 e versões anteriores. É causada pela ausência da chamada da função sq_reservestack. Esta vulnerabilidade leva à negação de serviço (DoS) do cliente e possivelmente pode levar ao escape da sandbox e à execução arbitrária de código.
Para explorar a vulnerabilidade, alguém deve executar bytecode Squirrel ou arquivo-fonte elaborado. Isso pode ser feito de várias maneiras. Por exemplo, um servidor envia o mapa do jogo para o cliente e alguém executa o script Squirrel malicioso. Outra forma de ser atacado é instalar um mod de jogo malicioso no seu servidor.
Existe uma correção commit para esta vulnerabilidade. Para aplicar a correção, você deve recompilar o projeto a partir das fontes desde este commit.
Existem muitos jogos que usam Squirrel como linguagem de script principal. Os desenvolvedores desses jogos devem aplicar a correção o mais rápido possível.
Não forneceremos a PoC antes de 90 dias a partir da data em que a correção foi publicada. Talvez a forneçamos mais tarde.