CVE-2026-122320
WysokieCVSS 7.7Streszczenie
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.
Ocena ryzyka
Może to prowadzić do ujawnienia danych między dzierżawcami, w tym wrażliwych informacji z innych przestrzeni nazw. Organizacje z wielodzierżawczymi klastrami są szczególnie narażone.
Rekomendacja
Zaktualizuj Kyverno do wersji 1.19.2 lub nowszej. Ogranicz uprawnienia do tworzenia polityk w przestrzeniach nazw i regularnie przeglądaj polityki generate.
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-122319Wysokie
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ę.
- 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 missing authorization vulnerability that allows namespaced Policy authors to read resources in other namespaces by templating generate.clone or cloneList namespace values. Attackers can annotate a triggering ConfigMap so the background-controller copies a victim namespace's sensitive ConfigMap into the attacker's namespace, enabling cross-tenant data disclosure.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

