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

VetorAV: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:
  1. Uma AST do Rego precisava ser criada programaticamente de forma que acabasse contendo termos sem localização (como variáveis curinga).
  2. A AST precisava ser formatada usando o pacote github.com/open-policy-agent/opa/format.
  3. 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

CVE-2022-23628
GHSA-HCW3-J74M-QC58
GO-2022-0316

Produtos afetados

Open Policy Agent