CVE-2026-122307
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
Kyverno przed wersją 1.19.2 zawiera podatność na obejście polityk w kontrolerze admissionpolicygenerator, który włącza PolicyExceptions do generowanych ValidatingAdmissionPolicies, ignorując flagi --enablePolicyException, --exceptionNamespace i bramki rodzaju polityki. Użytkownicy z uprawnieniami do tworzenia PolicyExceptions w przestrzeniach nazw mogą wstrzykiwać zanegowane matchConditions do generowanych polityk, aby dopuścić naruszające zasoby, omijając egzekwowanie w całym klastrze.
Ocena ryzyka
Może to pozwolić na obejście egzekwowania polityk w całym klastrze i dopuszczenie niezgodnych zasobów. Organizacje polegające na Kyverno do egzekwowania polityk są narażone na osłabienie bezpieczeństwa.
Rekomendacja
Zaktualizuj Kyverno do wersji 1.19.2 lub nowszej. Ogranicz uprawnienia do tworzenia PolicyExceptions i regularnie przeglądaj generowane ValidatingAdmissionPolicies.
Inne podatności w Kyverno
Zobacz wszystkie- CVE-2026-124441Wysokie
Kyverno w wersji przed 1.19.2 zawiera podatność typu authorization bypass, która pozwala tenantom w przestrzeniach nazw generować dowolne rodzaje zasobów w dowolnej przestrzeni nazw poprzez szablonowanie rodzaju i przestrzeni nazw reguły generate zmiennymi. Atakujący może utworzyć Policy i wyzwalający ConfigMap we własnej przestrzeni nazw, powodując zapis przez uprzywilejowany background-controller NetworkPolicies lub RoleBindings do przestrzeni nazw ofiar lub kube-system.
- CVE-2026-124440Krytyczne
Kyverno od wersji 1.19.1 przed 1.19.2 zawiera podatność typu authorization bypass w apiCall namespace clamp, która pozwala dzierżawcom przestrzeni nazw na wysyłanie żądań API między przestrzeniami nazw i o zasięgu klastra poprzez dołączanie zniekształconych procentowych sekwencji ucieczki do urlPath. Atakujący mogą tworzyć polityki w przestrzeni nazw, których apiCall działa jako konto usługi kontrolera admission, aby odczytywać zasoby innych przestrzeni nazw i tworzyć mutujące webhooki, eskalując do uprawnień administratora klastra.
- CVE-2026-122321Krytyczne
Kyverno w wersji 1.18.0 przed 1.19.2 zawiera obejście weryfikacji podpisu w verifyImages, ponieważ wyniki weryfikacji są buforowane według ciągu referencji obrazu (np. tagu), a nie powiązane z zweryfikowanym skrótem, więc trafienia w pamięć podręczną pomijają sprawdzanie podpisów i atestacji. Atakujący mogący przesyłać obciążenia i zmieniać tag rejestru może rozgrzać pamięć podręczną podpisanym obrazem, przestawić tag i doprowadzić do przyjęcia niezweryfikowanego obrazu z przypiętym skrótem przez mutateDigest.
- CVE-2026-122313Krytyczne
Kyverno od wersji 1.17.0 przed 1.19.2 zawiera podatność na eskalację uprawnień umożliwiającą najemcom o zasięgu przestrzeni nazw modyfikowanie zasobów w innych przestrzeniach nazw poprzez wynik CEL targetMatchConstraints.expression w NamespacedMutatingPolicy bez sprawdzeń przestrzeni nazw. Atakujący mogą wyemitować dosłowny cel, taki jak RoleBinding innego najemcy, który kontroler w tle o zasięgu klastra następnie zmodyfikuje, dodając podmioty atakującego lub zmieniając Role, NetworkPolicies i ConfigMaps.
- CVE-2026-122311Krytyczne
Kyverno od wersji 1.16.0 przed 1.19.2 nie waliduje segmentów ścieżki w argumencie zasobu resource.get() i resource.post(), umożliwiając politykom CEL o zasięgu przestrzeni nazw wyjście poza swoją przestrzeń nazw. Najemcy mogący tworzyć NamespacedValidatingPolicy mogą wstawiać segmenty .., aby odczytywać i zapisywać dowolne obiekty klastra przy użyciu konta usługi kontrolera dopuszczania, prowadząc do przejęcia klastra.
- CVE-2026-122310Krytyczne
Kyverno od wersji 1.19.1 przed 1.19.2 waliduje urlPath w context.apiCall polityki po jego oczyszczeniu, ale wykonuje surową ścieżkę, której fragment lub zapytanie klient Kubernetes odrzuca. Użytkownik o zasięgu przestrzeni nazw mogący tworzyć politykę może ukryć segmenty ../ za # lub ?, aby dotrzeć do punktów końcowych o zasięgu klastra przy użyciu konta usługi Kyverno, uzyskując uprawnienia administratora klastra.
- CVE-2026-122304Krytyczne
Kyverno od wersji 1.17.0 przed 1.19.2 zawiera podatność na obejście autoryzacji umożliwiającą administratorom przestrzeni nazw wyjście poza ograniczenia przestrzeni nazw, ponieważ kontroler czyszczenia buduje kontekst ładowania z polityką nil. Atakujący mogą tworzyć CleanupPolicy w przestrzeni nazw z wpisami kontekstu apiCall lub globalReference, aby odczytywać Secrets z innych przestrzeni nazw i modyfikować validatingwebhookconfigurations przy użyciu konta usługi kontrolera czyszczenia.
- CVE-2026-122303Krytyczne
Kyverno od wersji 1.17.0 przed 1.19.2 zawiera podatność na obejście autoryzacji umożliwiającą najemcom przestrzeni nazw nadpisywanie zasobów w innych przestrzeniach nazw poprzez NamespacedMutatingPolicy mutate-existing targetMatchConstraints.expression. Atakujący mogą zwrócić literał mapy CEL fabrykujący cel z wybraną przez atakującego metadata.namespace, powodując nadpisanie przez uprzywilejowany kontroler w tle Secrets, Deployments lub polityk w całym klastrze.
- CVE-2026-122302Krytyczne
Kyverno przed wersją 1.19.2 zawiera podatność na eskalację uprawnień umożliwiającą administratorom przestrzeni nazw tworzenie zasobów poza ich RBAC, ponieważ sprawdzenia dopuszczania reguł generate weryfikują uprawnienia kontrolera, a nie autora. Atakujący mogą tworzyć politykę w przestrzeni nazw z regułami generate skierowanymi do innych przestrzeni nazw lub rodzajów o zasięgu klastra, powodując tworzenie lub klonowanie zasobów w całym klastrze przez kontroler w tle.
- CVE-2026-100706Krytyczne
Kyverno przed wersją 1.19.1 nieprawidłowo waliduje zakodowane w URL segmenty ścieżki w apiCall urlPath polityki, co pozwala tenantom namespace'ów ominąć ograniczenia per-namespace i tworzyć obiekty w innych namespace'ach jako ServiceAccount kontrolera admission. Atakujący mogą wykorzystać percent-encoded sekwencje traversal katalogów do tworzenia obiektów MutatingWebhookConfiguration w całym klastrze lub obiektów PolicyException w namespace kyverno, co umożliwia eskalację uprawnień do administratora klastra.
Oryginalny opis (angielski, źródło NVD)
Kyverno before 1.19.2 contains a policy bypass vulnerability in the admissionpolicygenerator controller, which folds PolicyExceptions into generated ValidatingAdmissionPolicies while ignoring the --enablePolicyException, --exceptionNamespace, and policy kind gates. Users with namespaced create rights on PolicyExceptions can inject negated matchConditions into the generated policies to admit violating resources, bypassing cluster-wide enforcement.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

