PT-2022-23174 · Unknown · Open Policy Agent

Srenatus

·

Publicado

2022-09-08

·

Atualizado

2022-09-16

·

CVE-2022-36085

CVSS v3.1

7.4

Alta

VetorAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Nome do software vulnerável e versões afetadas
Versões do Open Policy Agent (OPA) anteriores à 0.43.1
Descrição
O compilador Rego no Open Policy Agent (OPA) possui uma função WithUnsafeBuiltins obsoleta que permite aos usuários especificar funções embutidas a serem rejeitadas pelo compilador. No entanto, foi descoberta uma forma de contornar essa proteção, na qual o uso da palavra-chave with para simular uma função embutida não é levado em consideração pela função WithUnsafeBuiltins. Essa vulnerabilidade pode ser explorada se várias condições forem atendidas, incluindo o uso da API Go para avaliação de políticas, o método WithUnsafeBuiltins e a avaliação de políticas de partes não confiáveis. As funções embutidas http.send e opa.runtime são consideradas inseguras em determinadas integrações. A API de consulta do OPA também é afetada se for exposta ao público sem autenticação e autorização adequadas.
Recomendações
Para versões anteriores à 0.43.1, considere usar o recurso capabilities em vez da função WithUnsafeBuiltins para especificar as funções integradas permitidas.
Para fazer isso, defina os recursos usando a função ast.CapabilitiesForThisVersion() e, em seguida, remova as funções integradas indesejadas dos recursos.
Em seguida, use o método WithCapabilities em vez de WithUnsafeBuiltins ao criar um novo compilador.
Como solução alternativa temporária, evite usar a função WithUnsafeBuiltins até que um patch esteja disponível.
Por exemplo, altere o código que usa WithUnsafeBuiltins para usar WithCapabilities.

Exploit

Correção

Protection Mechanism Failure

RCE

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-36085
GHSA-F524-RF33-2JJR
GO-2022-0978

Produtos afetados

Open Policy Agent