{
    "CVE_data_meta": {
        "ASSIGNER": "security-advisories@github.com",
        "ID": "CVE-2022-36085",
        "STATE": "PUBLIC",
        "TITLE": "OPA Compiler: Bypass of WithUnsafeBuiltins using `with` keyword to mock functions"
    },
    "affects": {
        "vendor": {
            "vendor_data": [
                {
                    "product": {
                        "product_data": [
                            {
                                "product_name": "opa",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_value": ">= 0.40.0, < 0.43.1"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "vendor_name": "open-policy-agent"
                }
            ]
        }
    },
    "data_format": "MITRE",
    "data_type": "CVE",
    "data_version": "4.0",
    "description": {
        "description_data": [
            {
                "lang": "eng",
                "value": "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."
            }
        ]
    },
    "impact": {
        "cvss": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
        }
    },
    "problemtype": {
        "problemtype_data": [
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "CWE-693: Protection Mechanism Failure"
                    }
                ]
            },
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "CWE-20: Improper Input Validation"
                    }
                ]
            }
        ]
    },
    "references": {
        "reference_data": [
            {
                "name": "https://github.com/open-policy-agent/opa/security/advisories/GHSA-f524-rf33-2jjr",
                "refsource": "CONFIRM",
                "url": "https://github.com/open-policy-agent/opa/security/advisories/GHSA-f524-rf33-2jjr"
            },
            {
                "name": "https://github.com/open-policy-agent/opa/pull/4540",
                "refsource": "MISC",
                "url": "https://github.com/open-policy-agent/opa/pull/4540"
            },
            {
                "name": "https://github.com/open-policy-agent/opa/pull/4616",
                "refsource": "MISC",
                "url": "https://github.com/open-policy-agent/opa/pull/4616"
            },
            {
                "name": "https://github.com/open-policy-agent/opa/commit/25a597bc3f4985162e7f65f9c36599f4f8f55823",
                "refsource": "MISC",
                "url": "https://github.com/open-policy-agent/opa/commit/25a597bc3f4985162e7f65f9c36599f4f8f55823"
            },
            {
                "name": "https://github.com/open-policy-agent/opa/commit/3e8c754ed007b22393cf65e48751ad9f6457fee8",
                "refsource": "MISC",
                "url": "https://github.com/open-policy-agent/opa/commit/3e8c754ed007b22393cf65e48751ad9f6457fee8"
            },
            {
                "name": "https://github.com/open-policy-agent/opa/releases/tag/v0.43.1",
                "refsource": "MISC",
                "url": "https://github.com/open-policy-agent/opa/releases/tag/v0.43.1"
            }
        ]
    },
    "source": {
        "advisory": "GHSA-f524-rf33-2jjr",
        "discovery": "UNKNOWN"
    }
}
