CVE-2026-107597
ŚrednieCVSS 5.1Streszczenie
Weryfikacja tokenów PIA (verify_token w pia/oidc.py) pobiera dokument wykrywania OIDC z dozwolonego wystawcy, a następnie podąża za zawartym w odpowiedzi jwks_uri bez parsowania go jako URL, porównania z originem zatwierdzonego wystawcy ani wymagania HTTPS. Zatwierdzony dostawca tożsamości może skierować PIA do wysłania żądania GET do dowolnego hosta i portu, w tym przez zwykły HTTP, z pozycji sieciowej PIA, zanim jakikolwiek podpis zostanie zweryfikowany.
Ocena ryzyka
Złośliwy lub przejęty dostawca tożsamości może wykorzystać PIA do skanowania i wysyłania żądań do wewnętrznych zasobów sieciowych, co może prowadzić do ujawnienia informacji lub ataków SSRF.
Rekomendacja
Zaktualizuj PIA do wersji, która waliduje jwks_uri jako URL, porównuje go z originem zatwierdzonego wystawcy i wymaga HTTPS. Do czasu aktualizacji ogranicz zaufanie do dostawców tożsamości i monitoruj nietypowe żądania wychodzące.
Inne podatności w PIA
Zobacz wszystkie- CVE-2026-18353Wysokie
Endpoint PIA `POST /v1/upload/sbom` akceptuje JWT i sprawdza niesprawdzony claim `iss` z listą dozwolonych wystawców, używając `urlparse` w Pythonie, a następnie wykonuje OIDC discovery z `requests`. Z powodu różnic w parsowaniu przez `urlparse` i `requests`/`urllib3`, atakujący może ominąć listę dozwolonych i przekierować żądania do dowolnego hosta.
- CVE-2026-14336Wysokie
Podatność w PIA polega na użyciu prostego sprawdzenia prefiksu ciągu znaków dla listy dozwolonych wystawców OIDC, zamiast walidacji jako w pełni kwalifikowanego URL-a z ograniczeniem do hosta. Atakujący może skonstruować złośliwego wystawcę, który spełnia warunek prefiksu, ale wskazuje na kontrolowany przez niego serwer. Umożliwia to nieuwierzytelnionemu wywołaniu endpointu POST /v1/upload/sbom wymuszenie wychodzących żądań HTTP(S) do dowolnego hosta oraz akceptację tokena JWT podpisanego kluczem atakującego.
- CVE-2026-12616Średnie
Podatność w punkcie końcowym /v1/upload/sbom pozwala nieuwierzytelnionemu atakującemu na wstrzyknięcie fałszywych wpisów do logów poprzez manipulację polem iss w tokenie JWT. Ze względu na wyłączoną weryfikację podpisu JWT oraz dosłowne renderowanie znaków nowej linii w formacie logów, atakujący może wygenerować wpisy identyczne z autentycznymi komunikatami o pomyślnym uwierzytelnieniu.
Oryginalny opis (angielski, źródło NVD)
PIA's token verification (`verify_token` in `pia/oidc.py`) fetches the OIDC discovery document of an allowlisted issuer and then follows the `jwks_uri` contained in that response without parsing it as a URL, comparing it against the approved issuer's origin, or requiring HTTPS — the only check is that the field is non-empty (`pia/oidc.py:42-52`). An approved identity provider — and every registered per-project Jenkins instance under `https://ci.eclipse.org/<project>/oidc` is a separate such party (`pia/models.py`) — can therefore direct PIA to issue a GET request to an arbitrary host and port, including over plaintext `http`, from PIA's own network position. The fetch happens before any signature is verified, as a side effect of an unauthenticated `POST /v1/upload/sbom` request that is ultimately rejected with 401.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

