Description
HAPI FHIR is a complete implementation of the HL7 FHIR standard for healthcare interoperability in Java. Prior to version 6.9.12, SHCParser in org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/SHCParser.java can consume attacker-controlled Smart Health Card JWT content whose header contains zip: "DEF" and whose small raw-DEFLATE payload expands to a very large value. SHCParser.decodeJWT() passes the decoded payload to SHCParser.inflate(), which accumulates all decompressed bytes in a ByteArrayOutputStream without an output-size limit before JSON parsing, and SHCParser.decompress() contains the same unbounded pattern. An application or validator service that accepts attacker-supplied SHC content can therefore suffer excessive heap allocation, severe garbage-collection pressure, request failure, process instability, or process termination. This issue is fixed in version 6.9.12.
References6
- github.com/hapifhir/org.hl7.fhir.core/commit/fbb94216e0ad21ded7…
- github.com/hapifhir/org.hl7.fhir.core/pull/2493
- github.com/hapifhir/org.hl7.fhir.core/releases/tag/6.9.11
- github.com/hapifhir/org.hl7.fhir.core/releases/tag/6.9.12
- github.com/hapifhir/org.hl7.fhir.core/security/advisories/GHSA-…
- github.com/hapifhir/org.hl7.fhir.core/security/advisories/GHSA-…
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 1% percentile: 50 · as of 8 November 2026
- CWE
- CWE-20CWE-400CWE-409
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.