CVE-2026-122319
WysokieCVSS 7.5Streszczenie
Kyverno przed wersją 1.19.2 zawiera podatność na odmowę usługi w operatorach In i NotIn, która pozwala atakującym na zawieszenie silnika polityk poprzez niesprawdzone rzutowanie typu. Atakujący mogą przesłać zasoby, których wartości oceniane przez JMESPath dają tablice liczb całkowitych, wartości logicznych lub typów mieszanych, wywołując panikę.
Ocena ryzyka
Może to zakłócić kontrolę admission i egzekwowanie polityk, prowadząc do odmowy usługi. Organizacje polegające na Kyverno mogą doświadczyć przerw w działaniu klastra.
Rekomendacja
Zaktualizuj Kyverno do wersji 1.19.2 lub nowszej. Monitoruj logi pod kątem panik i rozważ ograniczenie możliwości przesyłania zasobów przez niezaufanych użytkowników.
Inne podatności w Kyverno
Zobacz wszystkie- CVE-2026-122323Wysokie
Kyverno od wersji 1.11.0 przed 1.19.2 zawiera podatność na nieograniczoną dekompresję w FetchSignatureBlob, umożliwiającą atakującym wyczerpanie pamięci poprzez dostarczanie silnie skompresowanych warstw podpisów notary. Atakujący kontrolujący referrery lub podpisy rejestru mogą publikować małe warstwy gzip, które dekompresują się ponad maxPayloadSize, powodując zabicie kontrolera dopuszczania przez OOM i odmowę usługi.
- CVE-2026-122322Wysokie
Kyverno w wersjach od 1.11.0 do 1.19.2 zawiera podatność na nieograniczoną dekompresję w funkcji extractStatement. Atakujący kontrolujący artefakty referrer w rejestrze mogą dostarczyć silnie skompresowane warstwy atestacji, które po dekompresji przekraczają maxPayloadSize, powodując wyczerpanie pamięci i zabicie kontrolera admission przez OOM.
- CVE-2026-122320Wysokie
Kyverno przed wersją 1.19.2 zawiera podatność na brak autoryzacji, która pozwala autorom polityk w przestrzeniach nazw na odczyt zasobów w innych przestrzeniach nazw poprzez szablonowanie wartości generate.clone lub cloneList. Atakujący mogą oznaczyć wyzwalający ConfigMap, aby kontroler w tle skopiował wrażliwy ConfigMap z ofiary do przestrzeni nazw atakującego.
- CVE-2026-122318Wysokie
Kyverno przed wersją 1.19.2 zawiera obejście uwierzytelniania w matchCertificateData, które pomija sprawdzanie subject i subjectRegExp w verifyImages, gdy certyfikat podpisujący nie ma Subject Alternative Name. Atakujący posiadający certyfikat liścia z zaufanego głównego certyfikatu mogą pominąć SAN, ustawić oczekiwany identyfikator wystawcy Fulcio OID i podpisać złośliwe obrazy, które zostaną dopuszczone mimo przypięcia podpisującego.
- CVE-2026-122316Wysokie
Kyverno w wersjach od 1.17.0 do 1.19.2 zawiera podatność na brak autoryzacji w procesorze mutate-existing w tle, która pozwala dzierżawcom w przestrzeniach nazw na modyfikowanie zasobów poza ich przestrzenią nazw. Atakujący mogą tworzyć NamespacedMutatingPolicy celujące w obiekty Namespace lub zasoby ofiary za pomocą wyrażeń CEL, powodując usunięcie etykiet Pod Security w całym klastrze przez konto usługi kontrolera w tle.
- CVE-2026-122315Wysokie
Kyverno przed wersją 1.19.2 zawiera niesprawdzone rzutowanie typu w buildStatementMap, które pozwala nieuwierzytelnionym atakującym na zawieszenie silnika polityk za pomocą spreparowanych oświadczeń atestacji. Atakujący mogą przesłać manifest referrer OCI z polem typu niebędącym ciągiem znaków, aby obejść weryfikację obrazu przy failurePolicy Ignore lub spowodować pętlę awarii reports-controller.
- CVE-2026-122314Wysokie
Kyverno przed wersją 1.19.2 zawiera niesprawdzone rzutowanie typu w silniku podstawiania zmiennych, które pozwala użytkownikom mogącym przesyłać zasoby na zawieszenie silnika polityk. Atakujący mogą przesłać zasoby z polami niebędącymi ciągami znaków, do których odwołuje się płytkie podstawienie {{- variable }} w politykach, powodując panikę i odmowę usługi webhooka oraz obejście polityk przy failurePolicy Ignore.
- CVE-2026-122312Wysokie
Kyverno w wersjach od 1.19.1 do 1.19.2 zawiera obejście izolacji przestrzeni nazw w APICall Fetch() w pkg/engine/apicall/apiCall.go, ponieważ path.Clean traktuje '?' jako znak ścieżki, pozwalając wyrażeniu regularnemu przestrzeni nazw dopasować segmenty w ciągu zapytania. Użytkownicy mogący tworzyć polityki w przestrzeniach nazw mogą podać URLPath taki jak /api/v1/nodes?x=/namespaces/default/, który przechodzi walidację, podczas gdy client-go żąda punktu końcowego o zasięgu klastra, odczytując zasoby poza ich przestrzenią nazw.
- CVE-2026-122309Średnie
Kyverno w wersjach przed 1.19.2 zawiera podatność typu denial of service, która pozwala autorom polityk w obrębie namespace wyczerpać CPU i pamięć przez przesyłanie wyrażeń CEL ocenianych bez limitów kosztu wykonania. Atakujący może utworzyć NamespacedValidatingPolicy lub NamespacedDeletingPolicy z zagnieżdżonymi komprehensjami map nad dużymi polami ConfigMap, co prowadzi do zabicia podów Kyverno przez OOM i zablokowania admission w całym klastrze.
- CVE-2026-122308Wysokie
Kyverno przed wersją 1.19.2 zawiera podatność na obejście autoryzacji w Generation Handler, która pozwala użytkownikom z uprawnieniami create/update na wyzwalanie zsynchronizowanych polityk generate poprzez fałszowanie wewnętrznych etykiet generate.kyverno.io. Atakujący mogą oznaczyć ConfigMap jako zarządzany przez kyverno ze spreparowanymi etykietami polityki, reguły i wyzwalacza, aby sklonować wrażliwe Sekrety z zastrzeżonych przestrzeni nazw do własnej przestrzeni nazw.
Oryginalny opis (angielski, źródło NVD)
Kyverno before 1.19.2 contains a denial-of-service vulnerability in the In and NotIn operators that allows attackers to crash the policy engine via an unchecked type assertion. Attackers can submit resources whose JMESPath-evaluated values yield arrays of integers, booleans, or mixed types, triggering a panic that disrupts admission control and policy enforcement.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

