Portainer w wersjach przed 2.20.0 zawiera podatność klasy open redirect (CWE-601), umożliwiającą przekierowanie użytkownika na dowolny zewnętrzny adres URL. Podatność może być wykorzystana do ataków phishingowych i kradzieży danych uwierzytelniających.
▸ Pokaż oryginał (EN)
Portainer before 2.20.0 allows redirects when the target is not index.yaml.
Aplikacja Portainer nie weryfikuje poprawnie docelowego adresu w mechanizmie przekierowań — o ile cel nie jest plikiem index.yaml, przekierowanie jest dozwolone bez walidacji. Atakujący może skonstruować specjalnie spreparowany link prowadzący do zaufanego hosta Portainer, który następnie automatycznie przekierowuje ofiarę na kontrolowany przez niego adres. Taki atak nie wymaga uwierzytelnienia ani interakcji po stronie serwera poza kliknięciem przez użytkownika złośliwego linka.
Atakujący może nakłonić użytkownika do odwiedzenia złośliwej strony podszywającej się pod zaufany serwis, co może prowadzić do kradzieży danych uwierzytelniających lub innych danych poufnych. Wysoki wynik CVSS w obszarach poufności i integralności wynika z potencjału do przeprowadzenia skutecznych ataków phishingowych i przechwycenia sesji.
Należy zaktualizować Portainer do wersji 2.20.0 lub nowszej, w której wprowadzono poprawkę walidacji przekierowań. Szczegóły dostępne w referencjach producenta (porównanie zmian 2.19.4...2.20.0 na GitHub).
Portainer we wszystkich wersjach przed 2.20.0 (w tym 2.19.4 i wcześniejsze).
Podatność została naprawiona w ramach pull requestów #11233 i #11236 w repozytorium GitHub projektu Portainer.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NPortainer
APPPortainer< 2.20.0
Powiązane podatności
Portainer CE: brak autoryzacji dla operacji na pluginach Docker
Portainer: Pominięcie ograniczeń bezpieczeństwa kontenerów przez Docker Swarm API
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).