GitHub Advisoryadvisory · Go
GHSA-hq4m-4948-64cc Kyverno resource with a deletionTimestamp may allow policy circumvention
MEDIUM
Official page ↗
- Aliases
- CVE-2023-34091
- Ecosystem
- Go
- Packages
- github.com/kyverno/kyverno
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Weaknesses
- CWE-285
- Reviewed
- 2023-06-05
Affected packages
• Go github.com/kyverno/kyverno: < 1.10.0 → fixed in 1.10.0
Description
Impact
In versions of Kyverno prior to 1.10.0, resources which have the `deletionTimestamp` field defined can bypass validate, generate, or mutate-existing policies, even in cases where the `validationFailureAction` field is set to `Enforce`.
This situation occurs as resources pending deletion were being consciously exempted by Kyverno, as a way to reduce processing load as policies are typically not applied to objects which are being deleted.
However, this could potentially result in allowing a malicious user to leverage the Kubernetes finalizers feature by setting a finalizer which causes the Kubernetes API server to set the `deletionTimestamp` and then not completing the delete operation as a way to explicitly to bypass a Kyverno policy.
Note that this is not applicable to Kubernetes Pods but, as an example, a Kubernetes Service resource can be manipulated using an indefinite finalizer to bypass policies.
Patches
This is resolved in Kyverno 1.10.0.
Workarounds
There is no known workaround.
References
_Are there any links users can visit to find out more?_
Related
Alias · CVE (1)
- CVE-2023-34091 Kyverno is a policy engine designed for Kubernetes. vulnerability
Weakness · CWE (1)
- CWE-285 Improper Authorization weakness