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).