Unknown · Angular-Expressions · CVE-2021-21277
**Nome do software vulnerável e versões afetadas:
versões do angular-expressions anteriores à 1.1.2
Descrição:
A vulnerabilidade permite a execução remota de código se for chamada a função `expressions.compile(userControlledInput)`, sendo que `userControlledInput` é um texto proveniente da entrada do usuário. A segurança do pacote poderia ser contornada usando uma carga útil mais complexa, por meio da técnica `.constructor.constructor`. Se o angular-expressions estiver sendo executado no navegador, um invasor poderia executar qualquer script do navegador quando o código do aplicativo chamar `expressions.compile(userControlledInput)`. Se o angular-expressions estiver sendo executado no servidor, um invasor poderia executar qualquer expressão JavaScript, obtendo assim a execução remota de código.
Recomendações:
Para resolver o problema, atualize para a versão 1.1.2 do angular-expressions.
Como solução temporária, considere desativar a entrada controlada pelo usuário que será alimentada no angular-expressions em seu aplicativo.
Alternativamente, restrinja o `userControlledInput` para permitir apenas caracteres específicos, como aqueles que correspondem à expressão regular `/^[|a-zA-Z.0-9 :"'+-?]+$/`.