CVE-2023-28465: Path Traversal

Published Mar 10, 2023
·
Updated

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(BASEDIRECTORY) or file.getCanonicalFile().toPath().startsWith(BASEDIRECTORYFILE.getCanonicalFile().toPath())

Other Examples

- CVE-2022-31159 - aws/aws-sdk-java - CVE-2022-23457 - ESAPI/esapi-java-legacy

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. - https://github.com/hapifhir/org.hl7.fhir.core/pull/1162

Workarounds Unknown

References https://snyk.io/research/zip-slip-vulnerability

Other sources

The package-decompression feature in HL7 (Health Level 7) FHIR Core Libraries before 5.6.106 allows attackers to copy arbitrary files to certain directories via directory traversal, if an allowed directory name is a substring of the directory name chosen by the attacker. NOTE: this issue exists because of an incomplete fix for CVE-2023-24057.

MITRE

Affected Software

7 affected componentsFixes available
maven/ca.uhn.hapi.fhir:org.hl7.fhir.validation<5.6.106
5.6.106
maven/ca.uhn.hapi.fhir:org.hl7.fhir.utilities<5.6.106
5.6.106
maven/ca.uhn.hapi.fhir:org.hl7.fhir.r5<5.6.106
5.6.106
maven/ca.uhn.hapi.fhir:org.hl7.fhir.r4b<5.6.106
5.6.106
maven/ca.uhn.hapi.fhir:org.hl7.fhir.convertors<5.6.106
5.6.106
maven/ca.uhn.hapi.fhir:org.hl7.fhir.core<5.6.106
5.6.106
hapifhir Hl7 Fhir Core<5.6.106

Event History

Mar 10, 2023
Advisory Published
10:15 PM
Dec 12, 2023
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
Description
Data Sourced
via NVD·05:15 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2023-28465?

CVE-2023-28465 has a moderate severity due to its potential exploitation through partial path traversal.

2

How do I fix CVE-2023-28465?

To mitigate CVE-2023-28465, update to version 5.6.106 of the affected HAPI FHIR packages.

3

What software is affected by CVE-2023-28465?

CVE-2023-28465 impacts several HAPI FHIR packages, including org.hl7.fhir.validation and org.hl7.fhir.utilities.

4

Can CVE-2023-28465 lead to data exposure?

Yes, CVE-2023-28465 could allow attackers to access unintended sibling directories, potentially exposing sensitive data.

5

Are there any known exploits for CVE-2023-28465?

As of now, there are no publicly known exploits for CVE-2023-28465, but the vulnerability itself poses a risk.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203