CVE-2026-100169
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 57 - wyżej niż 57% wszystkich znanych CVE
Streszczenie
Podatność w Prowler (wersje 5.4.0 do 5.35.0) pozwala nieuwierzytelnionemu atakującemu na przejęcie konta użytkownika, który nie ukończył jeszcze rejestracji. Dzieje się tak, ponieważ logowanie przez Google lub GitHub jest automatycznie łączone z istniejącym lokalnym kontem o tym samym adresie e-mail, bez weryfikacji, że adres należy do tej samej osoby. Atakujący może zarejestrować konto z adresem e-mail ofiary, a następnie uzyskać trwały dostęp do jej danych, w tym poświadczeń chmury, wyników skanów i członkostw w dzierżawach.
Ocena ryzyka
Ryzyko jest krytyczne, ponieważ atakujący może przejąć konta użytkowników, którzy nie dokończyli rejestracji, uzyskując dostęp do wrażliwych danych bezpieczeństwa i poświadczeń chmury. Może to prowadzić do naruszenia poufności, integralności i dostępności zasobów organizacji.
Rekomendacja
Należy natychmiast zaktualizować Prowler do wersji 5.35.0 lub nowszej, która zawiera poprawkę. Dodatkowo, w międzyczasie, należy wyłączyć automatyczne łączenie kont społecznościowych (SOCIALACCOUNT_EMAIL_AUTHENTICATION_AUTO_CONNECT) i wymusić weryfikację adresu e-mail przed aktywacją konta.
Inne podatności w Prowler
Zobacz wszystkie- CVE-2026-73263Krytyczne
Prowler przed wersją 5.36.0 w teście połączenia dostawcy Kubernetes akceptuje kubeconfig_content zawierający starszy dostawca uwierzytelniania gcp z config.cmd-path i config.cmd-args. Sprawdzenie tylko bloków exec w kubeconfig_contains_exec_auth oraz ładowanie przez config.load_kube_config_from_dict powoduje, że kubernetes-python CommandTokenSource.token uruchamia polecenie dostarczone przez atakującego przez subprocess.Popen na wspólnym workerze.
- CVE-2026-59151Krytyczne
Podatność w Prowler przed wersją 5.30.3 pozwala atakującemu na przejęcie konta w innym tenantcie poprzez manipulację adresem email w odpowiedzi SAML. System ufał domenie email z SAMLResponse przy wyborze tenanta, zamiast wiązać token z zatwierdzoną konfiguracją SAML.
- CVE-2026-73264Wysokie
Prowler przed wersją 5.33.1 umożliwia uwierzytelnionemu użytkownikowi z dostępem do konfiguracji dostawcy Lighthouse podanie niezweryfikowanego base_url dla dostawcy openai_compatible przez POST /api/v1/lighthouse/providers i POST /api/v1/lighthouse/providers/{id}/connection. Powoduje to wysyłanie żądań wychodzących, w tym klucza API w nagłówku Authorization, do kontrolowanych przez atakującego lub wewnętrznych punktów końcowych podczas wywołania client.models.list.
- CVE-2026-73262Średnie
W Prowler przed wersją 5.37.0 formatter HTML w prowler/lib/outputs/html/html.py wstawiał finding.resource_tags do raportów bez escapowania HTML. Osoba z uprawnieniami do modyfikacji tagów zasobów może przechowywać HTML lub JavaScript, który wykona się, gdy inny użytkownik otworzy raport.
Oryginalny opis (angielski, źródło NVD)
Improper Authentication in the social account linking path of the Prowler API in Prowler from 5.4.0 before 5.35.0 allows a remote unauthenticated attacker to obtain persistent access to the account of a user who has not yet registered, because ProwlerSocialAccountAdapter.pre_social_login() in api/src/backend/api/adapters.py links a Google or GitHub login to any existing local account that has the same email address as the one returned by the provider, without requiring that the address has been verified by the provider or on the existing account, and without any other check that both accounts belong to the same person. Self registration is open and the new account is usable at once, because UserViewSet.get_permissions() in api/src/backend/api/v1/views.py grants AllowAny to the create action, ACCOUNT_EMAIL_VERIFICATION is set to none in api/src/backend/config/settings/social_login.py, and the Django ModelBackend checks only the password and is_active, not the django-allauth EmailAddress record. An attacker who registers an email address before its owner keeps the password set at registration after the link is made, because sociallogin.connect() does not reset the password and does not disable the existing account, and the owner who later signs in with Google or GitHub is logged into the attacker's account. django-allauth makes the same email based link on its own, because SOCIALACCOUNT_EMAIL_AUTHENTICATION and SOCIALACCOUNT_EMAIL_AUTHENTICATION_AUTO_CONNECT are both set to True in the same settings module. This gives the attacker the cloud provider credentials, scan findings and tenant memberships held in the account.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

