Kyverno Cheatsheet

Kyverno CheatsheetKapitel 10 von 11

Kyverno Upgrade und Support

Stand Kyverno 1.19 · Edition 2026.10 · Release-Daten geprüft am 1. Oktober 2026

Security: mindestens 1.19.1

Fünf Advisories vom 10.09.2026, gefixt nur in 1.19.1, kein Fix für 1.18:

GHSA-5qq8-67g6-4h2w (Critical, 9.9): Tenant mit Create-Recht auf namespaced Policy (kyverno.io/v1) schreibt per apiCall method: POST und %2e%2e im urlPath als Kyverno-SA in beliebige Namespaces, bis Cluster-Admin.

Dazu High: %2e%2e-Bypass der Namespace-Isolation bei apiCall (GHSA-c5qq-7g2q-cpqp), SSRF/SA-Token über Legacy-apiCall.service und GlobalContextEntry (GHSA-q825-p383-r9v5), namespace-übergreifendes Lesen von globalContext aus Namespaced-CEL-Policies (GHSA-59v6-2x73-wfg4), Exception-Bypass bei ImageValidatingPolicy (GHSA-5cjf-wwfg-pj4c).

Vor dem Upgrade auf 1.19

K8s-Matrix: Kyverno 1.18.x/1.19.x auf K8s 1.33 bis 1.35, andere Versionen ungetestet.

Support: offiziell nur 1.19 (bis 1.20, geschätzt Nov 2026), Patches nur für kritische Bugs und Critical/High-CVEs.

CRDs: die policies.kyverno.io-Typen kommen aus der Chart-Abhängigkeit kyverno-api (seit Chart 3.7), der Rest aus dem Subchart crds, beide über crds.install; wer CRDs separat ausrollt, prüft beide Quellen vorher.

kyverno-policies 3.9 tauscht die PSS-Policies beim Helm-Upgrade gegen ValidatingPolicy (policyType); bestehende Legacy-Exceptions kyverno.io/v2 auf diese Policies greifen dann nicht mehr, vorher als policies.kyverno.io/v1-Exception neu anlegen oder policyType: ClusterPolicy pinnen.

1.19.1 ändert Verhalten: globalContext ist in Namespaced-Policies gesperrt (Fix GHSA-59v6-2x73-wfg4); solche Policies vor dem Patch-Update prüfen.

Legacy-Bestand finden: Admission-Warnungen, Metrik kyverno_deprecated_api_requests_total und --warnings-as-errors für kyverno test und kyverno apply in CI (beide ab 1.19.1).