Tremor · Tremor · CVE-2021-39228
**Nome do software vulnerável e versões afetadas**
Versões do Tremor 0.7.2 a 0.11.6
**Descrição**
A falha é um problema de segurança de memória que ocorre ao usar `patch` ou `merge` em `state` e atribuir o resultado de volta a `state`. Isso permite o acesso a regiões de memória já liberadas, que podem ser enviadas via TCP ou HTTP. A vulnerabilidade requer que o servidor Tremor execute um script tremor-script que utilize a construção de linguagem mencionada.
**Recomendações**
Para as versões 0.7.2 a 0.11.6, atualize para a versão 0.11.6 ou posterior, que remove a otimização e sempre clona a expressão de destino de um Merge ou Patch.
Se a atualização não for possível, uma solução alternativa é evitar a otimização introduzindo uma variável temporária e não reatribuindo imediatamente a `state`, por exemplo:
let tmp = merge state of event end;
let state = tmp