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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-43837
GHSA-Q34H-97WF-8R8J
PYSEC-2021-853

Produtos afetados

Jinja2
Vault-Cli