Portainer Community Edition w wersjach od 2.33.0 do 2.33.8, 2.39.2 i 2.41.0 nie egzekwuje skonfigurowanych przez administratora ograniczeń bezpieczeństwa kontenerów na ścieżce API Docker Swarm. Umożliwia to uwierzytelnionym użytkownikom bez uprawnień administracyjnych uruchamianie kontenerów z niedozwolonymi konfiguracjami, co zagraża izolacji środowiska i bezpieczeństwu hosta.
▸ Pokaż oryginał (EN)
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 enforces seven EndpointSecuritySettings restrictions that administrators configure to restrict the container configurations non-admin users can launch: privileged mode, host PID namespace, device mapping, capabilities, sysctls, security-opt (Seccomp / AppArmor), and bind mounts. These restrictions are enforced on the standard container creation path, but several of them are not applied on the Docker Swarm service API. This vulnerability is fixed in 2.33.8, 2.39.2, and 2.41.0.
Portainer pozwala administratorom konfigurować siedem kategorii ograniczeń (EndpointSecuritySettings), takich jak tryb uprzywilejowany, przestrzeń nazw PID hosta, mapowanie urządzeń, capabilities, sysctls, opcje security-opt (Seccomp/AppArmor) oraz bind mounts. Ograniczenia te są egzekwowane wyłącznie na standardowej ścieżce tworzenia kontenerów, natomiast nie są sprawdzane podczas tworzenia usług przez API Docker Swarm. Uwierzytelniony użytkownik bez uprawnień administratora może zatem wysłać żądanie do endpointu Docker Swarm, omijając w ten sposób wszystkie niewdrożone tam polityki bezpieczeństwa (CWE-862: Missing Authorization).
Atakujący z dostępem do konta zwykłego użytkownika może uruchomić kontenery z uprzywilejowanymi konfiguracjami — w tym w trybie uprzywilejowanym lub ze współdzieloną przestrzenią nazw PID hosta — co może prowadzić do przejęcia kontroli nad hostem Docker oraz naruszyć integralność i dostępność całego środowiska kontenerowego.
Należy zaktualizować Portainer Community Edition do wersji 2.33.8, 2.39.2 lub 2.41.0, w których błąd został naprawiony. Jako środek tymczasowy należy rozważyć ograniczenie dostępu użytkowników bez uprawnień administratora do funkcji Docker Swarm lub wyłączenie integracji ze Swarm do czasu wdrożenia patcha.
Portainer Community Edition w wersjach od 2.33.0 do (ale nie włącznie) 2.33.8, a także wersje przed 2.39.2 i przed 2.41.0, zarządzające środowiskami Docker Swarm.
Podatność dotyczy wyłącznie środowisk z aktywnym Docker Swarm; standardowa ścieżka tworzenia kontenerów pozostaje objęta ograniczeniami. Szczegóły dostępne w oficjalnym security advisory na GitHub: GHSA-5fxq-qcf3-244w.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XPortainer
APPPortainer2.40.02.33.0 – 2.33.8 (bez)2.34.0 – 2.39.1 (bez)
Powiązane podatności
Portainer CE: brak autoryzacji dla operacji na pluginach Docker
Portainer: niekontrolowane przekierowanie URL (open redirect)
In Portainer Agent before 2.11.1, an API server can continue running even if not associated with a Portainer i...
Portainer 1.24.1 and earlier is affected by incorrect access control that may lead to remote arbitrary code ex...
Portainer before 1.22.1 has Incorrect Access Control (issue 1 of 4).