CVE-2026-81096
KrytyczneCVSS 10.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 46 - wyżej niż 46% wszystkich znanych CVE
Streszczenie
ToolUniverse uruchamiał kod Pythona dostarczony przez wywołującego w piaskownicy, którą można było ominąć, na serwerze niewymagającym uwierzytelniania. Wykonawca narzędzia python_code_executor sprawdzał źródło pod kątem listy zabronionych nazw atrybutów i wywołań, ale pozostawiał dostępne wbudowane funkcje wyszukiwania atrybutów i nie blokował atrybutów dunder osiąganych przez wyszukiwanie stringów lub przez dozwolony moduł. Pozwalało to na przejście od klasy literału do jej baz i wyliczenie podklas w celu uzyskania odniesienia do modułów process i subprocess. Dodatkowy argument pozwalał na rozszerzenie listy dozwolonych importów przed inspekcją. Serwery HTTP i MCP nasłuchiwały na wszystkich interfejsach z włączonym debugowaniem i bez uwierzytelniania, więc każdy wywołujący mógł wykonać kod jako proces serwera. Wersja 1.3.0 dodaje uwierzytelnianie bearer-token, domyślnie ustawia adres na loopback i wzmacnia sprawdzanie atrybutów.
Ocena ryzyka
Nieuwierzytelniony atakujący może wykonać dowolny kod na serwerze, co prowadzi do pełnej kompromitacji systemu i danych.
Rekomendacja
Zaktualizuj ToolUniverse do wersji 1.3.0 lub nowszej, która zawiera poprawki bezpieczeństwa, oraz skonfiguruj uwierzytelnianie.
Powiązane podatności
- CVE-2026-122992Krytyczne
W G4KLX DStarGateway i F4FXL DStarGateway przed wersją 7b75de6 funkcja dstarCallsignToAPRS w APRSUtils.cpp zawiera błąd niedomiaru liczby całkowitej wywołany pustym polem nadawcy RS-MS1A.
- 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-122051Krytyczne
W urządzeniu Edimax BR-6208AC w wersji 1.32 wykryto lukę w nieznanej funkcjonalności pliku /goform/mp. Manipulacja danymi wejściowymi może prowadzić do wstrzyknięcia poleceń. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-54384Krytyczne
API chmurowe VitaFit w wersji przed 2026-10-30 zawierało podatność omijania uwierzytelniania, pozwalającą zdalnym atakującym uzyskać pełną sesję konta ofiary poprzez przesłanie identyfikatora powiązanego konta Google lub Facebook do punktu końcowego POST /front/login/sns/ bez dowodu własności od dostawcy tożsamości. Atakujący może sfałszować logowanie przy użyciu identyfikatora ujawnionego przez enumerację kont, aby odczytać i zmodyfikować profil ofiary oraz usunąć rekord uwierzytelniania konta.
Oryginalny opis (angielski, źródło NVD)
ToolUniverse ran caller-supplied Python inside a sandbox that could be escaped, on a server that required no authentication. The executor behind the python_code_executor tool, in python_executor_tool.py, inspected the submitted source for a denied list of attribute names and calls but left the attribute-lookup builtins available and did not stop a dunder attribute reached through a string lookup or through a module already permitted, so a caller could walk from a literal's class to its base and enumerate subclasses to obtain a reference to the process and subprocess modules. A per-call argument also let the caller widen the import allow-list before the inspection ran. The HTTP and MCP servers in http_api_server.py and smcp_server.py bound to every interface with debugging enabled and no authentication, so any caller able to reach the port executed code as the server process. Version 1.3.0 adds bearer-token authentication, defaults the bind address to loopback, and hardens the attribute checks.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

