CVE-2022-36085

OPA Compiler: Bypass of WithUnsafeBuiltins using `with` keyword to mock functions

State
Published
Severity
7.4 High
Published
Sep 8, 2022
Updated
Apr 22, 2025
Reserved
Jul 15, 2022

Read the record on cve.org

Description

Open Policy Agent (OPA) is an open source, general-purpose policy engine. The Rego compiler provides a (deprecated) `WithUnsafeBuiltins` function, which allows users to provide a set of built-in functions that should be deemed unsafe — and as such rejected — by the compiler if encountered in the policy compilation stage. A bypass of this protection has been found, where the use of the `with` keyword to mock such a built-in function (a feature introduced in OPA v0.40.0), isn’t taken into account by `WithUnsafeBuiltins`. Multiple conditions need to be met in order to create an adverse effect. Version 0.43.1 contains a patch for this issue. As a workaround, avoid using the `WithUnsafeBuiltins` function and use the `capabilities` feature instead.

Scores

CVSSScoreVectorSource
3.17.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NGitHub_M

Weaknesses

  • CWE-693 Protection Mechanism Failure
  • CWE-20 Improper Input Validation

Affected Products

ProductVersions
opaopen-policy-agent
  • >= 0.40.0, < 0.43.1Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.