CVE-2026-33180
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
Biblioteka HAPI FHIR przed wersją 6.9.0 wysyła te same nagłówki HTTP do wszystkich hostów podczas przekierowań, co może ujawnić poufne dane lub umożliwić podszywanie się pod klienta.
Ocena ryzyka
Ryzyko polega na wycieku wrażliwych informacji (np. tokenów autoryzacyjnych) do nieuprawnionych serwerów podczas przekierowań, co może prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Zaleca się natychmiastową aktualizację HAPI FHIR do wersji 6.9.0 lub nowszej, która eliminuje to zachowanie.
Inne podatności w HAPI FHIR
Zobacz wszystkie- CVE-2026-55471Krytyczne
Podatność w HAPI FHIR przed wersją 6.9.10 umożliwia atak XML External Entity (XXE) przez funkcję saxonTransform w klasie XsltUtilities. Brak ograniczeń ACCESS_EXTERNAL_DTD i ACCESS_EXTERNAL_STYLESHEET pozwala atakującemu na odczyt lokalnych plików, ataki blind XXE oraz SSRF na dowolne adresy URL.
- CVE-2026-34361Krytyczne
HAPI FHIR to pełna implementacja standardu HL7 FHIR dla interoperacyjności opieki zdrowotnej w Javie. Przed wersją 6.9.4 usługa HTTP FHIR Validator udostępnia nieuwierzytelniony punkt końcowy "/loadIG", który wykonuje wychodzące żądania HTTP do adresów URL kontrolowanych przez atakującego. W połączeniu z wadą dopasowania prefiksu startsWith() w dostawcy poświadczeń (ManagedWebAccessUtils.getServer()), atakujący może ukraść tokeny uwierzytelniające (Bearer, Basic, klucze API) skonfigurowane dla legalnych serwerów FHIR, rejestrując domenę, której prefiks pasuje do skonfigurowanego adresu URL serwera. Problem został naprawiony w wersji 6.9.4.
- CVE-2026-81876Wysokie
HAPI FHIR to kompletna implementacja standardu HL7 FHIR dla interoperacyjności w opiece zdrowotnej w Javie. Przed wersją 6.9.12, SHCParser w org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/SHCParser.java może wejść w nieskończoną pętlę podczas przetwarzania kontrolowanej przez atakującego treści JWT Smart Health Card, której nagłówek zawiera zip: "DEF" i której surowa treść DEFLATE jest pusta lub obcięta. SHCParser.decodeJWT() dociera do SHCParser.inflate(), gdzie Inflater.inflate() może zwrócić zero, podczas gdy Inflater.finished() pozostaje fałszywe, a Inflater.needsInput() jest prawdziwe. Pętla nie ma również warunku zakończenia Inflater.needsDictionary(), SHCParser.decompress() zawiera ten sam wzorzec zerowego postępu, a ResourceChecker.java może osiągnąć parsowanie SHC podczas wykrywania formatu pliku. Nieprawidłowe żądanie walidacji może zablokować wątek roboczy JVM na czas nieokreślony, a równoczesne żądania mogą wyczerpać wszystkich pracowników walidacji. Problem został naprawiony w wersji 6.9.12.
- CVE-2026-81875Wysokie
HAPI FHIR to kompletna implementacja standardu HL7 FHIR dla interoperacyjności w opiece zdrowotnej w Javie. Przed wersją 6.9.12, SHCParser w org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/SHCParser.java może zużywać kontrolowaną przez atakującego treść JWT Smart Health Card, której nagłówek zawiera zip: "DEF" i której mała surowa treść DEFLATE rozwija się do bardzo dużej wartości. SHCParser.decodeJWT() przekazuje zdekodowaną treść do SHCParser.inflate(), który gromadzi wszystkie zdekompresowane bajty w ByteArrayOutputStream bez limitu rozmiaru wyjścia przed parsowaniem JSON, a SHCParser.decompress() zawiera ten sam nieograniczony wzorzec. Aplikacja lub usługa walidacyjna, która akceptuje treści SHC dostarczone przez atakującego, może więc cierpieć z powodu nadmiernej alokacji sterty, poważnej presji na garbage collector, awarii żądań, niestabilności procesu lub jego zakończenia. Problem został naprawiony w wersji 6.9.12.
- CVE-2026-62296Wysokie
Przed wersją 6.9.11 w HAPI FHIR, plik XhtmlParser.java nie narzuca maksymalnej głębokości zagnieżdżenia elementów, więc głęboko zagnieżdżona narracja text.div wywołuje nieograniczoną rekurencję między parseElementInner() i parseElement(), powodując StackOverflowError. Atakujący, który może przesłać zasoby FHIR zawierające takie narracje, może w ten sposób doprowadzić do awarii wątku roboczego parsowania lub walidacji, wpływając na usługi walidatora i każdą aplikację parsującą dostarczone przez atakującego FHIR JSON lub XML. Problem został naprawiony w wersji 6.9.11.
- CVE-2026-62295Wysokie
Przed wersją 6.9.11 w HAPI FHIR, parser JSON w org.hl7.fhir.utilities.json.parser.JsonParser nie egzekwuje maksymalnej głębokości zagnieżdżenia dla tablic lub obiektów. W rezultacie mały, ale głęboko zagnieżdżony, składniowo poprawny dokument FHIR JSON może wywołać nieograniczoną rekurencję readArray() lub readObject(), powodując StackOverflowError przed uruchomieniem walidacji strukturalnej. Atakujący, który może przesłać zasoby JSON do walidacji, może w ten sposób doprowadzić do awarii wątku żądania, a usługi, które nie izolują bezpiecznie StackOverflowError, mogą doświadczyć utraty pracowników lub niestabilności procesu — stan odmowy usługi. Problem został naprawiony w wersji 6.9.11.
- CVE-2026-62293Średnie
HAPI FHIR przed wersją 6.9.11 zawiera podatność na przechowywany XSS w ukrytym poleceniu skanowania, które łączy tytuły Implementation Guide, profile i źródła bez escapowania w pliku Scanner.java. Użytkownik skanujący złośliwy IG/profile i otwierający raport HTML może wywołać wykonanie złośliwego JavaScript w kontekście przeglądarki.
- CVE-2026-49485Wysokie
HAPI FHIR przed wersjami 6.9.9 i 6.9.4.2 akceptuje dowolne wyrażenia FHIRPath bez walidacji wejścia. Funkcje matches(), matchesFull() i replaceMatches() przekazują kontrolowane przez użytkownika wyrażenia regularne do Pattern.compile() i String.replaceAll() przez niekompletną funkcję timeout. Atakujący może wysłać zasób ze złośliwym wzorcem regex powodującym katastrofalne cofanie się, wyczerpując zasoby CPU i powodując odmowę usługi.
- CVE-2026-45367Wysokie
W HAPI FHIR przed wersją 6.9.7 silnik FHIRPathEngine przekazuje wyrażenia regularne kontrolowane przez użytkownika z funkcji matches(), matchesFull() i replaceMatches() do operacji regex w Javie bez skutecznych limitów czasowych, co umożliwia katastroficzne cofanie się i odmowę usługi (DoS).
- CVE-2026-55470Wysokie
Podatność w HAPI FHIR przed wersją 6.9.10 wynika z niekompletnej łatki dla CVE-2026-45367 w module DSTU2. Metoda FHIRPathEngine.matches() wywołuje String.matches(sw) bez ochrony RegexTimeout, co pozwala nieuwierzytelnionemu atakującemu na wywołanie katastrofalnego cofania się wyrażeń regularnych i przeciążenie serwera.
Oryginalny opis (angielski, źródło NVD)
HAPI FHIR is a complete implementation of the HL7 FHIR standard for healthcare interoperability in Java. Prior to version 6.9.0, when setting headers in HTTP requests, the internal HTTP client sends headers first to the host in the initial URL but also, if asked to follow redirects and a 30X HTTP response code is returned, to the host mentioned in URL in the Location: response header value. Sending the same set of headers to subsequent hosts is a problem as this header often contains privacy sensitive information or data that could allow others to impersonate the client's request. This issue has been patched in release 6.9.0. No known workarounds are available.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

