PT-2022-16142 · Open Policy Agent · Open Policy Agent
Johanneslarsson
·
Publicado
2022-02-09
·
Atualizado
2022-07-27
·
CVE-2022-23628
CVSS v3.1
6.3
Média
| Vetor | AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L |
Nome do software vulnerável e versões afetadas
Versões do Open Policy Agent (OPA) anteriores à 0.37.2
Descrição
A formatação de uma árvore de sintaxe abstrata (AST) que contenha nós sintéticos pode alterar a lógica de algumas instruções ao reordenar literais de matriz. Esta vulnerabilidade afeta políticas que analisam e comparam caminhos da web. Três condições devem ser atendidas para que ocorra um efeito adverso:
-
Uma AST do Rego precisava ser criada programaticamente de forma que acabasse contendo termos sem localização (como variáveis curinga).
-
A AST precisava ser formatada usando o pacote
github.com/open-policy-agent/opa/format. -
O resultado da formatação precisava ser analisado e avaliado novamente por meio de uma instância do OPA usando os pacotes ou os pacotes Golang.
Notavelmente, todas as três condições seriam verdadeiras se fossem usados pacotes otimizados, ou seja, pacotes criados com
opa build -O=1 ou superior.Recomendações
Para resolver o problema, atualize para a versão 0.37.2 ou posterior.
Como solução alternativa temporária, considere desativar a otimização ao criar pacotes, não usando o sinalizador
-O=1 ou superior com o comando opa build.Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Open Policy Agent