Wysoka

HL7 FHIR Partial Path Zip Slip due to bypass of CVE-2023-24057

  • Ujawniono: 10.03.2023
  • Aktualizacja: 11.10.2026 12:22

Impact

Zip Slip protections implemented in CVE-2023-24057 (GHSA-jqh6-9574-5x22) can be bypassed due a partial path traversal vulnerability.

This issue allows a malicious actor to potentially break out of the TerminologyCacheManager cache directory. The impact is limited to sibling directories.

To demonstrate the vulnerability, consider userControlled.getCanonicalPath().startsWith("/usr/out") will allow an attacker to access a directory with a name like /usr/outnot.

Why?

To demonstrate this vulnerability, consider "/usr/outnot".startsWith("/usr/out"). The check is bypassed although /outnot is not under the /out directory. It's important to understand that the terminating slash may be removed when using various String representations of the File object. For example, on Linux, println(new File("/var")) will print /var, but println(new File("/var", "/") will print /var/; however, println(new File("/var", "/").getCanonicalPath()) will print /var.

The Fix

Comparing paths with the java.nio.files.Path#startsWith will adequately protect againts this vulnerability.

For example: file.getCanonicalFile().toPath().startsWith(BASE_DIRECTORY) or file.getCanonicalFile().toPath().startsWith(BASE_DIRECTORY_FILE.getCanonicalFile().toPath())

Other Examples

Vulnerability

https://github.com/hapifhir/org.hl7.fhir.core/blob/b0daf666725fa14476d147522155af1e81922aac/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/terminologies/TerminologyCacheManager.java#L99-L105

While getAbsolutePath will return a normalized path, because the string path is not slash terminated, the guard can be bypassed to write the contents of the Zip file to a sibling directory of the cache directory.

Patches

All org.hl7.fhir.core libraries should be updated to 5.6.106.

Workarounds

Unknown

References

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Java / Kotlin (Maven) ca.uhn.hapi.fhir:org.hl7.fhir.convertors < 5.6.106 5.6.106
Java / Kotlin (Maven) ca.uhn.hapi.fhir:org.hl7.fhir.core < 5.6.106 5.6.106
Java / Kotlin (Maven) ca.uhn.hapi.fhir:org.hl7.fhir.r4b < 5.6.106 5.6.106
Java / Kotlin (Maven) ca.uhn.hapi.fhir:org.hl7.fhir.r5 < 5.6.106 5.6.106
Java / Kotlin (Maven) ca.uhn.hapi.fhir:org.hl7.fhir.utilities < 5.6.106 5.6.106
Java / Kotlin (Maven) ca.uhn.hapi.fhir:org.hl7.fhir.validation < 5.6.106 5.6.106

Odnośniki

Ocena CVSS 7.5/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Słabość (CWE)
CWE-22
Platforma
Java / Kotlin (Maven)
Paczka
ca.uhn.hapi.fhir:org.hl7.fhir.convertors, ca.uhn.hapi.fhir:org.hl7.fhir.core, ca.uhn.hapi.fhir:org.hl7.fhir.r4b
Ujawniono
10.03.2023
Aktualizacja
11.10.2026 12:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-9654-pr4f-gh6m - CC BY 4.0

Historia podatności: ca.uhn.hapi.fhir:org.hl7.fhir.r4b

Wszystkie opisane podatności tej paczki (Java / Kotlin (Maven)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkich wpisów
8
Pierwsza → ostatnia
01.2023 07.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 2
  • Wysoka 6

Ujawnienia w latach

  1. 2023: 2
  2. 2024: 3
  3. 2025: 0
  4. 2026: 3
  1. Wysoka · 7.5 CVE-2026-49485 >= 6.9.5, < 6.9.9, < 6.9.4.2 6.9.9, 6.9.4.2
  2. Krytyczna · 9.8 CVE-2026-33180 < 6.9.0 6.9.0
  3. Wysoka · 8.6 CVE-2024-52007 < 6.4.0 6.4.0
  4. Wysoka · 9.8 CVE-2024-51132 < 6.4.0 6.4.0
  5. Wysoka · 8.6 CVE-2024-45294 < 6.3.23 6.3.23
  6. HL7 FHIR Partial Path Zip Slip due to bypass of CVE-2023-24057 ten wpis
    Wysoka · 7.5 CVE-2023-28465 < 5.6.106 5.6.106
  7. Krytyczna · 9.1 CVE-2023-24057 < 5.6.92 5.6.92

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.