PT-2021-23968 · Jinja2+1 · Jinja2+1
Ewjoachim
·
Publicado
2021-12-16
·
Atualizado
2022-08-09
·
CVE-2021-43837
CVSS v3.1
9.1
Crítica
| Vetor | AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
**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.Exploit
Correção
Code Injection
Special Elements Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Jinja2
Vault-Cli