CVE-2023-34091 Kyverno resource with a deletionTimestamp may allow policy circumvention
Attackers can bypass Kyverno policies by using finalizers to set a deletionTimestamp, allowing unauthorized resource modifications in Kubernetes clusters.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-34091?
CVE-2023-34091 is a medium-severity missing authorization vulnerability in kyverno, published on 1 Jun 2023. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Kyverno is a policy engine designed for Kubernetes. 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. This is resolved in Kyverno 1.10.0. There is no known workaround.
Weakness: CWE-285
Which versions are affected by CVE-2023-34091?
3 open source packages ship an affected version, including github.com/kyverno/kyverno. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/kyverno/kyverno Go | All versions | 1.10.0 |
github.com/kyverno/kyverno Go | All versions | 1.10.0 |
github.com/kyverno/kyverno Go | All versions | 1.10.0 |
Products include Nirmata Kyverno.
How do I fix CVE-2023-34091?
Upgrade github.com/kyverno/kyverno to 1.10.0 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2023-34091 being exploited?
There is no known exploitation of CVE-2023-34091 in the wild and no public exploit code.
Other vulnerabilities in kyverno
- CVE-2024-48921 Kyverno's PolicyException objects can be created in any namespace by default
- CVE-2023-42813 Denial of service from malicious manifest in kyverno
- CVE-2023-42816 Denial of service from malicious signature in kyverno
- CVE-2023-33191 kyverno seccomp control can be circumvented
- CVE-2023-42814 Denial of service from malicious image manifest in kyverno
Sources
Also known as CLEANSTART-2025-XQ01253, CLEANSTART-2026-FU09912, GHSA-hq4m-4948-64cc, GO-2023-1819.