CVE-2026-81876 json
HAPI FHIR: SHCParser DEFLATE infinite loop causes denial of service
published 2026-09-16 53 d ago modified 2026-09-30 39 d ago also EUVD-2026-80998 , GHSA-gq9c-wmrm-5hvr
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
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.
Patch / fix
- maven ca.uhn.hapi.fhir:org.hl7.fhir.r5 6.9.12
- maven ca.uhn.hapi.fhir:org.hl7.fhir.validation 6.9.12
- maven ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli 6.9.12
- ca.uhn.hapi.fhir org.hl7.fhir.core 6.9.12
- hapifhir hl7_fhir_core 6.9.12
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 53 d ago
Exploit prediction
0.63% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/hapifhir/org.hl7.fhir.core/security/advisories/GHSA-gq9c-wmrm-5hvr referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | ca.uhn.hapi.fhir:org.hl7.fhir.r5 | <6.9.12 |
6.9.12 |
| maven | ca.uhn.hapi.fhir:org.hl7.fhir.validation | <6.9.12 |
6.9.12 |
| maven | ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli | <6.9.12 |
6.9.12 |
Affected products
- hapifhir org.hl7.fhir.core
Classification
References
-
github.com
/hapifhir/org.hl7.fhir.core/pull/2493
web
-
github.com
/hapifhir/org.hl7.fhir.core/commit/d804558bd77372b1629e55a5b901cad3f5134cdc
web
-
github.com
/hapifhir/org.hl7.fhir.core/commit/edd5d8c139e669e39270785f08be7b63aefef24c
web
-
github.com
/hapifhir/org.hl7.fhir.core/security/advisories/GHSA-gq9c-wmrm-5hvr
exploit, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-81876
advisory
-
github.com
/hapifhir/org.hl7.fhir.core
package
Sources
- CVE List CVE-2026-81876
- GitHub Advisory GHSA-gq9c-wmrm-5hvr
- NVD CVE-2026-81876
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.