Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable endpoint with no authentication required when export is enabled; read-only path traversal yields high confidentiality impact with no integrity or availability effect.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
3DescriptionCVE.org
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. 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.
AnalysisAI
Path traversal in Pathling Server's FHIR bulk export result endpoint (/$result) prior to version 2.0.0 allows any caller holding a valid async export job ID to read arbitrary files from the warehouse database root by supplying crafted file parameter values containing directory traversal sequences. Because the server validates the job ID but never normalizes or confines the requested file path to the job's designated jobs/<jobId> subdirectory, and because export scratch space cohabits the same filesystem root as persisted FHIR resource tables, an attacker can exfiltrate sensitive clinical health data. No public exploit has been identified at time of analysis, but the CVSS 4.0 score of 8.7 with a fully unauthenticated network vector makes this a high-priority patch for healthcare deployments with export operations enabled.
Technical ContextAI
Pathling is an open-source FHIR-native health data analytics toolkit built around the HL7 FHIR bulk data access specification. FHIR's asynchronous export pattern allows clients to kick off long-running bulk export jobs and poll for results via a status/result endpoint. In Pathling's implementation, the /$result endpoint accepts a job parameter (the async export job ID) and a file parameter identifying which export artifact to serve. The root cause (CWE-22, Improper Limitation of a Pathname to a Restricted Directory) is that the handler validates the job ID for authenticity but performs no normalization (e.g., resolving ../ sequences) and no boundary check to ensure the resolved file path remains within the job's jobs/<jobId> subdirectory before opening it as a filesystem resource. Since Pathling stores export scratch files and persisted FHIR resource tables (Parquet/Delta Lake format) under the same warehouse database root, a traversal sequence in the file parameter can reach any file the Pathling process can read under that root. No CPE strings were supplied in the intelligence data; affected scope is Pathling Server versions prior to 2.0.0 per the GitHub Security Advisory GHSA-8w85-f63v-3wh6.
RemediationAI
Upgrade to Pathling Server 2.0.0, which fixes the path traversal by properly normalizing and confining the file path to the job's designated jobs/<jobId> directory before opening any filesystem resource. The advisory is at https://github.com/aehrc/pathling/security/advisories/GHSA-8w85-f63v-3wh6. If immediate upgrade is not feasible, the vendor-recommended interim mitigation is to disable all async export operations by setting all of the following configuration flags to false: pathling.operations.exportEnabled, patientExportEnabled, groupExportEnabled, and bulkSubmitEnabled. This fully removes the vulnerable endpoint from the attack surface but eliminates bulk FHIR export functionality entirely - a meaningful operational trade-off for analytics pipelines that depend on it. An alternative interim control is to enable authentication and restrict export capability to trusted callers only, which limits the realistic attacker pool to authenticated users. Note that this does NOT fix the underlying path traversal flaw - a malicious or compromised authenticated user could still exploit it - but it substantially reduces exposure compared to an open, unauthenticated deployment.
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54642