Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2021-43979

Styra Open Policy Agent (OPA) Gatekeeper through 3.7.0 mishandles concurrency, sometimes resulting in incorrect access control. The data replication mechanism allows policies to access the Kubernetes cluster state. During data replication, OPA/Gatekeeper does not wait for the replication to finish before processing a request, which might cause inconsistencies between the replicated resources in OPA/Gatekeeper and the resources actually present in the cluster. Inconsistency can later be reflected in a policy bypass. NOTE: the vendor disagrees that this is a vulnerability, because Kubernetes states are only eventually consistent

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2021-43979
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 12:04 UTC · Revision 1

Source evidence

CVE-2021-43979

core-osv · Original source

Published 17 Nov 2021, 19:15 UTC

Styra Open Policy Agent (OPA) Gatekeeper through 3.7.0 mishandles concurrency, sometimes resulting in incorrect access control. The data replication mechanism allows policies to access the Kubernetes cluster state. During data replication, OPA/Gatekeeper does not wait for the replication to finish before processing a request, which might cause inconsistencies between the replicated resources in OPA/Gatekeeper and the resources actually present in the cluster. Inconsistency can later be reflected in a policy bypass. NOTE: the vendor disagrees that this is a vulnerability, because Kubernetes states are only eventually consistent

osv:CVE-2021-43979
Complete source record
{
  "id": "eeba533affa63ab2ffcc5a49590445ba261a139862c223c99e4509f37d1c6824",
  "url": "https://osv.dev/vulnerability/CVE-2021-43979",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2021-43979",
    "summary": "Styra Open Policy Agent (OPA) Gatekeeper through 3.7.0 mishandles concurrency, sometimes resulting in incorrect access control. The data replication mechanism allows policies to access the Kubernetes cluster state. During data replication, OPA/Gatekeeper does not wait for the replication to finish before processing a request, which might cause inconsistencies between the replicated resources in OPA/Gatekeeper and the resources actually present in the cluster. Inconsistency can later be reflected in a policy bypass. NOTE: the vendor disagrees that this is a vulnerability, because Kubernetes states are only eventually consistent",
    "evidence": "osv:CVE-2021-43979",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2021-43979",
      "aliases": [
        "CVE-2021-43979"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/open-policy-agent/gatekeeper",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "3ba8e93049b542a0c273e60a57ca03bd24d95dd7"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:openpolicyagent:gatekeeper:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "3.7.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.7.0",
            "v3.7.0-beta.2",
            "v3.7.0-beta.1",
            "v3.6.0",
            "v3.6.0-beta.3",
            "v3.6.0-beta.2",
            "v3.6.0-beta.1",
            "v3.5.0-rc.1",
            "v3.4.0",
            "v3.4.0-rc.1",
            "v3.4.0-beta.0",
            "v3.3.0-beta.2",
            "v3.3.0-beta.1",
            "v3.2.0",
            "v3.2.0-rc.1",
            "v3.1.0-rc.1",
            "v3.1.0-beta.12",
            "v3.1.0-beta.11",
            "v3.1.0-beta.10",
            "v3.1.0-beta.9",
            "v3.1.0-beta.8",
            "v3.1.0-beta.7",
            "v3.1.0-beta.6",
            "v3.1.0-beta.5",
            "v3.1.0-beta.4",
            "v3.1.0-beta.3",
            "v3.1.0-beta.2",
            "v3.1.0-beta.1",
            "v3.1.0-beta.0",
            "v3.0.4-beta.2",
            "v3.0.4-beta.1",
            "v3.0.4-beta.0",
            "v3.0.4-alpha.1",
            "v3.0.4-alpha.0",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-43979.json"
          }
        }
      ],
      "modified": "2026-10-20T10:55:18.100092925Z",
      "provider": "osv",
      "references": [
        "https://github.com/hkerma/opa-gatekeeper-concurrency-issue",
        "https://github.com/open-policy-agent/gatekeeper/releases"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2021-43979",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 387069,
  "published_at": "2021-11-17T19:15:09.22+00:00"
}