CVE-2026-44883
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
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).
Ocena ryzyka
Organizacja narażona jest na nieautoryzowany dostęp do zarządzania kontenerami, w tym wykonywanie poleceń i podgląd sesji, przez osoby mające dostęp do logów lub strony zewnętrznej odwiedzanej przez użytkownika.
Rekomendacja
Należy natychmiast zaktualizować Portainer do wersji 2.33.8, 2.39.2 lub 2.41.0, w zależności od używanej gałęzi wydań.
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-44882Wysokie
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.
- 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.8, 2.39.2, and 2.41.0, Portainer's authentication middleware accepts JWT bearer tokens passed as the ?token=<JWT> URL query parameter on any authenticated API endpoint, in addition to the standard Authorization: Bearer header. URLs are recorded in reverse-proxy access logs, browser history, and HTTP Referer headers on outbound navigation, so any JWT passed this way can be harvested by anyone with access to those logs or by an external site the user subsequently visits. A leaked token grants the full privileges of the user it was issued to, until the token expires (default 8 hours, configurable). The ?token= parameter was used by Portainer's browser-based container attach, exec, and pod shell features, so any user with exec or attach rights on a container was exposed — not only administrators. This vulnerability is fixed in 2.33.8, 2.39.2, and 2.41.0.

