Jinja2 · Jinja2 · CVE-2021-43837
**Nome do software vulnerável e versões afetadas:
versões do vault-cli anteriores à 3.0.0
Descrição:
O problema diz respeito à capacidade do vault-cli de renderizar valores de modelo. Quando um segredo começa com o prefixo `!template!`, o vault-cli interpreta o restante do conteúdo do segredo como um modelo Jinja2. O Jinja2 é um poderoso mecanismo de modelagem e não foi projetado para renderizar modelos arbitrários com segurança. Um invasor que controle um modelo Jinja2 renderizado em uma máquina pode executar código arbitrário, tornando isso um risco de Execução Remota de Código (RCE). Se o conteúdo do vault for totalmente confiável, isso não representa um problema. Caso contrário, se o seu modelo de ameaças incluir casos em que um invasor possa manipular um valor secreto lido do vault usando o vault-cli, essa vulnerabilidade pode afetá-lo.
Recomendações:
Para versões anteriores à 3.0.0, recomenda-se que os usuários atualizem para a versão 3.0.0 ou posterior o mais rápido possível.
Como solução alternativa temporária, os usuários podem desativar a renderização usando a variável de ambiente `VAULT CLI RENDER=false` ou o sinalizador `--no-render` colocado entre `vault-cli` e o subcomando, ou adicionando `render: false` ao arquivo YAML de configuração do vault-cli.
Ao usar a biblioteca Python, os usuários podem utilizar `vault cli.get client(render=False)` ao criar seu cliente para obter um cliente que não renderizará segredos baseados em modelos e, portanto, operará com segurança.