CVE-2026-90959
WysokieCVSS 8.1Streszczenie
W pulpcore znaleziono podatność na przechodzenie po ścieżkach. API przesyłania treści akceptuje parametr 'file_url', który pozwala użytkownikom z uprawnieniami do repozytoriów plików na określenie lokalnego adresu URL pliku do pobrania przez Pulp. Walidacja schematu URL używa porównania prefiksu, które odrzuca tylko adresy zaczynające się od 'file://', ale parser URL w Pythonie rozpoznaje schemat 'file:' bez podwójnych ukośników, co powoduje niezgodność między walidacją a wysyłką do pobierania. Uwierzytelniony użytkownik z niskimi uprawnieniami może użyć spreparowanego URL z sekwencjami przechodzenia po ścieżkach, aby odczytać dowolny plik dostępny dla procesu serwera Pulp. W środowiskach z Pulp Container umożliwia to odczytanie klucza prywatnego podpisującego tokeny rejestru i fałszowanie tokenów, dając nieautoryzowany dostęp do wszystkich prywatnych repozytoriów kontenerów.
Ocena ryzyka
Ryzyko obejmuje odczyt dowolnych plików dostępnych dla procesu serwera Pulp, w tym potencjalnie kluczy prywatnych i danych wrażliwych. W środowiskach z Pulp Container może to prowadzić do pełnego nieautoryzowanego dostępu do prywatnych repozytoriów kontenerów.
Rekomendacja
Zaktualizuj pulpcore do wersji zawierającej poprawkę. Ogranicz uprawnienia do repozytoriów plików i monitoruj użycie parametru 'file_url'.
Inne podatności w pulpcore
Zobacz wszystkie- CVE-2026-12701Krytyczne
W pulpcore znaleziono podatność polegającą na przechodzeniu poza katalog (path traversal). Funkcja relative_path_validator sprawdza tylko, czy ścieżki nie zaczynają się od "/", ale nie blokuje sekwencji takich jak "../". Uwierzytelniony administrator może utworzyć relative_path zawierający sekwencje przechodzenia, co pozwala na zapis dowolnego pliku w dowolnej lokalizacji zapisywalnej przez użytkownika usługi Pulp.
- CVE-2026-84232Średnie
W aplikacji serwującej treści pulpcore występuje błąd polegający na tym, że pliki przesłane do repozytoriów typu Pulp są serwowane z ich oryginalnym typem treści (np. text/html dla plików .html, image/svg+xml dla plików .svg) i bez nagłówka Content-Disposition: attachment, gdy używane jest lokalne przechowywanie plików. Uwierzytelniony użytkownik lub atakujący z uprawnieniami do przesyłania treści może przesłać specjalnie spreparowany plik HTML lub SVG zawierający JavaScript, który wykonuje się w przeglądarce każdego użytkownika odwiedzającego URL pliku, co prowadzi do trwałego XSS w kontekście aplikacji hostującej.
Oryginalny opis (angielski, źródło NVD)
A path traversal vulnerability was found in pulpcore. The content upload API accepts a 'file_url' parameter that allows users with file repository privileges to specify a local file URL for Pulp to download and store. A URL scheme validation check uses a string prefix comparison that only rejects URLs beginning with 'file://', but Python's URL parser recognizes the 'file:' scheme without double slashes, creating a mismatch between what is validated and what is dispatched to the file downloader. An authenticated user with low-privilege repository permissions can supply a specially crafted URL using relative path traversal sequences to read any file accessible to the Pulp server process. In deployments that include Pulp Container, successful exploitation allows an attacker to read the container registry token signing private key and forge bearer tokens, granting unauthorized access to all private container repositories in the affected registry.

