CVE-2026-44882
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
W Portainer Community Edition od wersji 2.33.0 do 2.33.7 występuje podatność polegająca na braku instrukcji return po błędzie walidacji tokena w warstwie pośredniczącej kubeClientMiddleware. Powoduje to, że żądanie użytkownika z nieprawidłowym tokenem jest przekazywane do klastra Kubernetes, omijając kontrolę autoryzacji.
Ocena ryzyka
Atakujący z ważną sesją Portainer, ale bez uprawnień do danego punktu końcowego Kubernetes, może uzyskać nieautoryzowany dostęp do klastra, co może prowadzić do wycieku danych lub nieautoryzowanych operacji na zasobach.
Rekomendacja
Należy niezwłocznie zaktualizować Portainer do wersji 2.33.8 lub nowszej, która zawiera poprawkę usuwającą brak instrukcji return po błędzie walidacji tokena.
Inne podatności w Portainer
Zobacz wszystkie- CVE-2026-44881Krytyczne
Portainer Community Edition od wersji 2.33.0 do 2.33.8, 2.39.2 i 2.41.0 zawiera podatność polegającą na tym, że podczas tworzenia lub aktualizacji stosów z repozytoriów Git, go-git v5 tworzy dowiązania symboliczne (symlink) na systemie plików hosta bez walidacji, z wyjątkiem pliku .gitmodules. Uwierzytelniony użytkownik z uprawnieniami do zarządzania stosami Git może umieścić w repozytorium plik docker-compose.yml jako dowiązanie symboliczne do dowolnej ścieżki, co powoduje odczytanie zawartości tego pliku przez endpoint GET /api/stacks/{id}/file i zwrócenie jej w odpowiedzi HTTP.
- CVE-2026-44885Średnie
Podatność w Portainer Community Edition od wersji 2.33.0 do 2.33.7 pozwala na zapis plików w dowolnej lokalizacji systemu plików serwera poprzez spreparowany archiwum .tar.gz. Funkcja ExtractTarGz nie zabezpiecza przed atakiem typu directory traversal, co umożliwia nadpisanie krytycznych plików systemowych.
- CVE-2026-44883Wysokie
Portainer Community Edition w wersjach od 2.33.0 do 2.33.8, 2.39.2 i 2.41.0 akceptuje tokeny JWT w parametrze URL ?token=, co prowadzi do wycieku tokenów przez logi proxy, historię przeglądarki i nagłówki Referer. Wycieknięty token umożliwia pełny dostęp do uprawnień użytkownika do czasu wygaśnięcia (domyślnie 8 godzin).
- CVE-2026-44850Wysokie
Portainer Community Edition w wersjach od 2.33.0 do 2.33.7, 2.39.1 i 2.40.0 zawiera lukę w zabezpieczeniu ustawienia Disable bind mounts dla nieadministratorów. Mechanizm sprawdzający to ustawienie analizował tylko tablicę HostConfig.Binds, pomijając równoważną tablicę HostConfig.Mounts, co pozwalało uwierzytelnionym użytkownikom na montowanie dowolnych ścieżek hosta do kontenerów.
- CVE-2026-44849Wysokie
Podatność w Portainer Community Edition umożliwia ominięcie siedmiu ograniczeń bezpieczeństwa punktów końcowych (EndpointSecuritySettings) podczas tworzenia usług Docker Swarm. Ograniczenia te są egzekwowane przy standardowym tworzeniu kontenerów, ale nie są stosowane w API usług Swarm, co pozwala nieuprzywilejowanym użytkownikom na uruchamianie kontenerów z niebezpiecznymi konfiguracjami.
- CVE-2026-44848Wysokie
W Portainer Community Edition w wersjach od 2.33.0 do 2.33.8, 2.39.2 i 2.41.0, punkty końcowe zarządzania wtyczkami Docker (/plugins/*) nie były zarejestrowane z odpowiednim handlerem. Umożliwiło to standardowym użytkownikom z dostępem do endpointu wykonywanie uprzywilejowanych operacji na wtyczkach, takich jak instalacja i włączanie, bezpośrednio na demonie Docker.
Oryginalny opis (angielski, źródło NVD)
Portainer Community Edition is a lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. From 2.33.0 to before 2.33., Portainer proxies requests to Kubernetes clusters through a middleware layer (kubeClientMiddleware) that validates the requesting user's token before forwarding traffic to the cluster. When security.RetrieveTokenData returned an error, the middleware wrote an HTTP 403 response but was missing a return statement — execution continued into the handler with a nil tokenData value. The Kubernetes endpoints sit behind Portainer's outer AuthenticatedAccess bouncer, so an attacker requires a valid Portainer session. However, a user whose secondary token validation fails in kubeClientMiddleware — for example a user without permission to access a given Kubernetes endpoint — would have their request forwarded to the cluster anyway, bypassing the authorization check. The same defect was present in both the CE and EE codebases. This vulnerability is fixed in 2.33.8.

