{"schemaVersion":3,"id":"CVE-2021-43979","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"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","dates":{"published":"2021-11-17T18:26:13.000Z","modified":"2024-08-04T04:10:16.943Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.3,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":5,"severity":"medium","vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.01052,"percentile":0.63827,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.01052},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01052,"percentile":0.63827}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01052,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01052,"percentile":0.63827}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-670","name":"Always-Incorrect Control Flow Implementation","description":"The code contains a control flow path that does not reflect the algorithm that the path is intended to implement, leading to incorrect behavior any time this path is navigated.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/670.html"}],"affected":[{"vendor":"openpolicyagent","product":"gatekeeper","name":"gatekeeper","label":"gatekeeper","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 3.7.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 3.7.0","eol":{"isEol":null,"eolDate":null,"matchMethod":"cpe","cycle":null,"product":{"name":"gatekeeper","label":"Gatekeeper","category":"server-app"}},"hubHref":"/vendor/openpolicyagent/gatekeeper"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/hkerma/opa-gatekeeper-concurrency-issue","label":"github.com/hkerma/opa-gatekeeper-concurrency-issue","hostname":"github.com","tags":["X Refsource MISC","Third Party Advisory"]},{"url":"https://github.com/open-policy-agent/gatekeeper/releases","label":"github.com/open-policy-agent/gatekeeper/releases","hostname":"github.com","tags":["X Refsource MISC","Patch","Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2021-11-17T18:26:13.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-04T04:10:16.943Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":21,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T11:33:01.217Z","stale":false,"partial":false}}