HAPI FHIR: SHCParser DEFLATE infinite loop causes denial of service
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.
Summary
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 enter an infinite loop while processing attacker-controlled Smart Health Card JWT content whose header contains zip: "DEF" and whose raw-DEFLATE payload is empty or truncated. SHCParser.decodeJWT() reaches SHCParser.inflate(), where Inflater.inflate() can return zero while Inflater.finished() remains false and Inflater.needsInput() is true. The loop also lacks an Inflater.needsDictionary() termination check, SHCParser.decompress() contains the same zero-progress pattern, and ResourceChecker.java can reach SHC parsing during file-format detection. A malformed validation request can pin a JVM worker thread indefinitely, and concurrent requests can exhaust all validation workers. This issue is fixed in version 6.9.12.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| hapifhir | org.hl7.fhir.core | before 6.9.12 | 6.9.12 | Patch available | CNA |
| — | ca.uhn.hapi.fhir:org.hl7.fhir.r5 (Maven) | before 6.9.12 | 6.9.12 | Patch available | GHSA-gq9c-wmrm-5hvr |
| — | ca.uhn.hapi.fhir:org.hl7.fhir.validation (Maven) | before 6.9.12 | 6.9.12 | Patch available | GHSA-gq9c-wmrm-5hvr |
| — | ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli (Maven) | before 6.9.12 | 6.9.12 | Patch available | GHSA-gq9c-wmrm-5hvr |
- org.hl7.fhir.core Vendorhapifhir Affected before 6.9.12 Fixed in 6.9.12 Patch available CNA
- ca.uhn.hapi.fhir:org.hl7.fhir.r5 (Maven) Vendor— Affected before 6.9.12 Fixed in 6.9.12 Patch available GHSA-gq9c-wmrm-5hvr
- ca.uhn.hapi.fhir:org.hl7.fhir.validation (Maven) Vendor— Affected before 6.9.12 Fixed in 6.9.12 Patch available GHSA-gq9c-wmrm-5hvr
- ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli (Maven) Vendor— Affected before 6.9.12 Fixed in 6.9.12 Patch available GHSA-gq9c-wmrm-5hvr
Remediation
- Fix · CNA org.hl7.fhir.core (hapifhir) Fixed in 6.9.12
- Fix · GHSA-gq9c-wmrm-5hvr ca.uhn.hapi.fhir:org.hl7.fhir.r5 (Maven) Fixed in 6.9.12 Advisory →
- Fix · GHSA-gq9c-wmrm-5hvr ca.uhn.hapi.fhir:org.hl7.fhir.validation (Maven) Fixed in 6.9.12 Advisory →
- Fix · GHSA-gq9c-wmrm-5hvr ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli (Maven) Fixed in 6.9.12 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-81876
- 2026-10-03 Alias added: GHSA-gq9c-wmrm-5hvr
- 2026-10-28 EPSS moved to the 50th–90th percentile
References
Other 5
- https://github.com/hapifhir/org.hl7.fhir.core/security/advisories/GHSA-gq9c-wmrm-5hvr
- https://github.com/hapifhir/org.hl7.fhir.core/pull/2493
- https://github.com/hapifhir/org.hl7.fhir.core/commit/d804558bd77372b1629e55a5b901cad3f5134cdc
- https://github.com/hapifhir/org.hl7.fhir.core/commit/edd5d8c139e669e39270785f08be7b63aefef24c
- https://github.com/hapifhir/org.hl7.fhir.core
More hapifhir vulnerabilities
- TI-2026-26647 HAPI FHIR: Unauthenticated SSRF via /loadIG Chains with startsWith() Credential Leak for Authentication Token Theft CVSS 3.1CRITICAL 9.3
- TI-2026-40028 HAPI FHIR: XXE in XsltUtilities.saxonTransform via unhardened Saxon TransformerFactory CVSS 4.0HIGH 8.7
- TI-2026-26645 HAPI FHIR: Authentication Credential Leakage via Improper URL Prefix Matching on HTTP Redirect in HAPI FHIR Core CVSS 3.1CRITICAL 9.1
- TI-2026-56487 HAPI FHIR: SHCParser unbounded DEFLATE decompression causes denial of service CVSS 3.1HIGH 7.5
- TI-2026-44485 HAPI FHIR: XHTML narrative parser unbounded recursion causes StackOverflow denial of service CVSS 3.1HIGH 7.5
- TI-2026-44484 HAPI FHIR: JSON utility parser unbounded recursion causes StackOverflow denial of service CVSS 3.1HIGH 7.5
Sources
- CVE-2026-81876 · CVE Program
- CVE-2026-81876 · NVD
- FIRST EPSS
- GHSA-gq9c-wmrm-5hvr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences