CVE-2026-47659
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
Pathling Server przed wersją 2.0.0 ma podatność na path traversal w punkcie końcowym `/$result`. Osoba znająca identyfikator zadania eksportu może podać ścieżkę pliku zawierającą sekwencje `../`, co pozwala na odczyt plików spoza katalogu zadania, w tym danych z magazynu.
Ocena ryzyka
Atakujący może uzyskać dostęp do wrażliwych danych przechowywanych w magazynie, co narusza poufność informacji.
Rekomendacja
Zaktualizuj Pathling Server do wersji 2.0.0, która normalizuje ścieżki i odrzuca żądania wychodzące poza katalog zadania. Jako tymczasowe obejście wyłącz operacje eksportu lub ogranicz dostęp do zaufanych użytkowników.
Inne podatności w Pathling Server
Zobacz wszystkie- CVE-2026-47664Wysokie
Przed wersją 2.0.0 Pathling Server operacja `$import-pnp` akceptuje dostarczony przez wywołującego `exportUrl` i używa go jako zdalnego punktu końcowego FHIR Bulk Export bez ograniczania go do zaufanego źródła. Gdy skonfigurowane są poświadczenia PNP, Pathling buduje uwierzytelniony klient eksportu masowego kierujący się na host wybrany przez wywołującego, pobiera pliki wybrane z manifestu, a następnie reklasyfikuje te pliki jako zaufane lokalne importy `file://` - omijając listę dozwolonych `allowableSources`, która chroni zwykłą operację `$import`. Problem został naprawiony w Pathling Server 2.0.0. Obejściem jest wyłączenie operacji `$import-pnp` (`pathling.operations.importPnpEnabled=false`) lub niekonfigurowanie poświadczeń PNP.
- CVE-2026-47663Wysokie
Przed wersją 2.0.0 Pathling Server, typowana powierzchnia CRUD/wyszukiwania/wsadowa FHIR pozwala uwierzytelnionemu wywołującemu z tylko ogólnymi uprawnieniami operacyjnymi na działanie na wybranych przez atakującego rodzinach zasobów, ponieważ te punkty wejścia nie egzekwują spójnie udokumentowanych uprawnień `read` i `write` dla poszczególnych zasobów. Udokumentowany model autoryzacji wymaga, aby uprawnienie operacyjne (np. `pathling:search`) było sparowane z odpowiednim uprawnieniem `read` lub `write` dla zasobu (np. `pathling:read:Patient`). Usuwanie i operacje wsadowe są udokumentowane jako wymagające uprawnienia zapisu dla wszystkich typów zasobów. Jednak typowane wyszukiwanie, aktualizacja i powiązane procedury obsługi są oznaczone tylko adnotacją `@OperationAccess(...)` i działają na typie zasobu wybranym przez dostawcę bez sprawdzania odpowiedniego uprawnienia dla zasobu. Problem został naprawiony w Pathling Server 2.0.0.
- CVE-2026-47662Wysokie
Przed wersją 2.0.0 Pathling Server, typowana powierzchnia CRUD/wyszukiwania/wsadowa FHIR pozwala uwierzytelnionemu wywołującemu z tylko ogólnymi uprawnieniami operacyjnymi na działanie na wybranych przez atakującego rodzinach zasobów, ponieważ te punkty wejścia nie egzekwują spójnie udokumentowanych uprawnień `read` i `write` dla poszczególnych zasobów. Udokumentowany model autoryzacji wymaga, aby uprawnienie operacyjne (np. `pathling:search`) było sparowane z odpowiednim uprawnieniem `read` lub `write` dla zasobu (np. `pathling:read:Patient`). Usuwanie i operacje wsadowe są udokumentowane jako wymagające uprawnienia zapisu dla wszystkich typów zasobów. Jednak typowane wyszukiwanie, aktualizacja i powiązane procedury obsługi są oznaczone tylko adnotacją `@OperationAccess(...)` i działają na typie zasobu wybranym przez dostawcę bez sprawdzania odpowiedniego uprawnienia dla zasobu. Problem został naprawiony w Pathling Server 2.0.0.
- CVE-2026-47661Wysokie
Przed wersją 2.0.0 Pathling Server, punkt końcowy `/$result` pozwala wywołującemu, który może uzyskać dowolny ważny identyfikator zadania eksportu asynchronicznego, na podanie wartości parametru `file` zawierających sekwencje przejścia ścieżki. Procedura obsługi weryfikuje tylko dostarczone `job` i nigdy nie normalizuje ani nie ogranicza żądanej ścieżki `file` do katalogu `jobs/<jobId>` tego zadania przed otwarciem jej jako zasobu systemu plików. Ponieważ przestrzeń robocza eksportu asynchronicznego znajduje się w tym samym katalogu głównym bazy danych magazynu, co utrwalone tabele zasobów, atakujący może użyć własnego zadania eksportu do odczytu innych plików z magazynu. Problem został naprawiony w Pathling Server 2.0.0. Jako tymczasowe złagodzenie, wyłącz operacje eksportu asynchronicznego (`pathling.operations.exportEnabled`, `patientExportEnabled`, `groupExportEnabled`, `bulkSubmitEnabled`) lub włącz uwierzytelnianie i ogranicz możliwość eksportu do zaufanych wywołujących.
- CVE-2026-47660Wysokie
Pathling Server przed wersją 2.0.0 umożliwia uprawnionemu użytkownikowi podanie parametru `oauthMetadataUrl` bez weryfikacji względem listy dozwolonych źródeł. W rezultacie przepływ OAuth dla operacji bulk-submit ufa niezaufanemu punktowi końcowemu tokenu i używa zapisanych poświadczeń do uwierzytelnienia.
Oryginalny opis (angielski, źródło NVD)
Pathling is a set of tools that make it easier to use FHIR and clinical terminology within health data analytics. Prior to version 2.0.0 of Pathling Server, Pathling's `/$result` endpoint allows a caller who can obtain any valid async export job ID to supply `file` parameter values containing path traversal sequences. The handler verifies only the supplied `job` and never normalises or confines the requested `file` path to that job's `jobs/<jobId>` directory before opening it as a filesystem resource. Because async export scratch space lives under the same warehouse database root as persisted resource tables, an attacker can use their own export job to read other files from the warehouse. This is fixed in Pathling Server 2.0.0. The `$result` handler now resolves and canonicalizes the requested file path and rejects any request that escapes the job's `jobs/<jobId>` directory. As an interim mitigation, disable the async export operations (`pathling.operations.exportEnabled`, `patientExportEnabled`, `groupExportEnabled`, `bulkSubmitEnabled`) or enable authentication and restrict export capability to trusted callers.

