Skip to main content

HAPI FHIR CVE-2026-62296

| EUVDEUVD-2026-54643 HIGH
Improper Input Validation (CWE-20)
2026-08-07 security-advisories@github.com
7.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send unauthenticated POST with deeply nested FHIR resource
  2. Delivery
    Parser enters mutual recursion on nested elements
  3. Exploit
    Nesting depth exceeds JVM thread stack limit
  4. Execution
    StackOverflowError terminates worker thread
  5. Persist
    Repeat requests to exhaust thread pool
  6. Impact
    FHIR service becomes unavailable

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

The target must be running HAPI FHIR org.hl7.fhir.core prior to version 6.9.11 and must expose an endpoint that parses attacker-supplied FHIR JSON or XML - including $validate operations or any application that accepts FHIR resource submissions from external parties. Per the CVSS vector PR:N, no authentication is required, and exploitation succeeds against unauthenticated HTTP endpoints in the default configuration. No special FHIR feature flag or non-default setting is needed - the vulnerability exists in the core parsing paths for all three supported formats (XHTML, JSON, XML). Exploitation is strictly bounded to availability impact: no confidentiality or integrity compromise is possible. Deployments that parse only internally-generated FHIR resources from trusted systems, or that enforce authentication before accepting any FHIR resource, are not exposed to this attack vector.

Impact

The CVSS 7.5 HIGH score is well-grounded: AV:N (network-reachable endpoint), AC:L (no special conditions), PR:N (unauthenticated), UI:N (no user interaction required), and A:H (complete availability loss for the affected thread). Real-world risk is meaningful for healthcare organizations running HAPI FHIR validator services or applications that ingest FHIR resources from external parties, as a single malformed request can permanently crash the handling worker thread. Impact is strictly limited to availability - C:N/I:N - meaning there is no data exfiltration or integrity risk. EPSS data was not provided in the input and cannot be stated. The vulnerability is not listed in the CISA KEV catalog, and no POC has been identified at time of analysis, which moderates urgency relative to a KEV-listed flaw. However, the exploitation mechanics are trivial - crafting a deeply nested JSON array or XML document requires no special tooling - meaning exploitation probability will rise significantly if POC code is published. Patch availability in 6.9.11 means remediation is straightforward, and the risk window should be short for organizations with active patch management.

Exploit ScenarioDerived

An attacker sends an unauthenticated HTTP POST to a public FHIR $validate endpoint with a FHIR JSON Patient resource whose top-level JSON array or text.div element is nested 600 or more levels deep, far exceeding the JVM thread stack capacity for the mutual recursion in JsonParser or XhtmlParser. The handling worker thread raises an unrecoverable StackOverflowError and terminates; if requests arrive at a rate matching thread pool replenishment, all worker threads can be exhausted, taking the FHIR service offline. No POC code has been identified at time of analysis, but constructing such a payload requires only a simple script that concatenates opening JSON brackets or XML tags.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 07, 2026

Denial-of-service via unbounded recursion in HAPI FHIR prior to 6.9.11 allows an unauthenticated remote attacker to crash parsing and validation worker threads by submitting FHIR resources containing deeply nested XHTML narratives, JSON objects, or XML elements. The commit diff reveals the flaw spans three parsers - XhtmlParser, JsonParser, and XMLUtil - each lacking a nesting depth guard, so crafted input triggers mutual recursion that exhausts the JVM thread stack and raises an unrecoverable StackOverflowError. No public exploit has been identified at time of analysis and this vulnerability does not appear in the CISA KEV catalog, but the AV:N/AC:L/PR:N/UI:N CVSS vector confirms trivial, unauthenticated exploitation against any internet-facing FHIR endpoint accepting resource submissions.

RemediationAI

Upgrade to HAPI FHIR org.hl7.fhir.core version 6.9.11 or later, which enforces a maximum nesting depth of 500 elements in both XhtmlParser and JsonParser, and a JAXP maxElementDepth of 1000 in XMLUtil, ensuring that oversized inputs fail with a clean FHIRFormatError or JsonException rather than an unrecoverable StackOverflowError. The fix is documented in GitHub security advisory GHSA-5v24-q6x8-hc38 (https://github.com/hapifhir/org.hl7.fhir.core/security/advisories/GHSA-5v24-q6x8-hc38) and implemented at commit 396f447500407693d6ae1e64db59782862ca7506 (https://github.com/hapifhir/org.hl7.fhir.core/commit/396f447500407693d6ae1e64db59782862ca7506). For deployments that cannot immediately patch, a compensating control is to configure a reverse proxy or API gateway upstream of the FHIR endpoint with a maximum request body size limit; note that payload-size limits alone will not catch wide-but-shallow nesting constructs, making this an imperfect mitigation. Restricting FHIR resource submission to authenticated and trusted clients reduces the attacker surface further, but requires application-layer changes and introduces friction for open validator services. Upgrading to 6.9.11 is the only reliable fix.

Affected VersionsENISA

org.hl7.fhir.core < 6.9.11
ca.uhn.hapi.fhir:org.hl7.fhir.validation < 6.9.11
ca.uhn.hapi.fhir:org.hl7.fhir.r5 < 6.9.11
ca.uhn.hapi.fhir:org.hl7.fhir.utilities < 6.9.11
ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli < 6.9.11

Affected Packages

euvd ca_uhn_hapi_fhir_org_hl7_fhir_r5 fix: 6.9.11
euvd ca_uhn_hapi_fhir_org_hl7_fhir_utilities fix: 6.9.11
euvd ca_uhn_hapi_fhir_org_hl7_fhir_validation fix: 6.9.11
euvd ca_uhn_hapi_fhir_org_hl7_fhir_validation_cli fix: 6.9.11
euvd org_hl7_fhir_core fix: 6.9.11

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 5 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

HAPI FHIR (org.hl7.fhir.core) is the reference Java implementation of the HL7 FHIR R4/R5 healthcare interoperability standard. The vulnerable parsers are XhtmlParser.java, which handles XHTML text.div narratives embedded in FHIR resources via mutual recursion between parseElement() and parseElementInner(); JsonParser.java, which processes FHIR JSON via mutual recursion between readObject() and readArray(); and XMLUtil.java, which constructs JAXP DocumentBuilderFactory instances for XML parsing. CWE-20 (Improper Input Validation) describes the root cause: none of the three parsers enforced a nesting depth ceiling on attacker-supplied input. The JVM call stack is finite, and inputs with hundreds of nesting levels exhaust it, raising an uncatchable StackOverflowError that terminates the worker thread. The fix introduced MAX_XHTML_DEPTH=500 and MAX_JSON_DEPTH=500 depth counters with clean FHIRFormatError and JsonException throws respectively, plus a jdk.xml.maxElementDepth=1000 JAXP attribute for XML, all enforced before recursion can run unbounded.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Network-reachable with no authentication or preconditions required; impact is exclusively availability via unrecoverable thread crash with no data exposure.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Aug 07, 2026 - 21:02 EUVD
CVE Published
Aug 07, 2026 - 20:16 cve.org
HIGH 7.5

DescriptionCVE.org

HAPI FHIR is a complete implementation of the HL7 FHIR standard for healthcare interoperability in Java. Prior to 6.9.11, XhtmlParser.java imposes no maximum element nesting depth, so a deeply nested text.div narrative triggers unbounded recursion between parseElementInner() and parseElement(), raising a StackOverflowError. An attacker who can submit FHIR resources containing such narratives can thus crash a parsing or validation worker thread, affecting validator services and any application that parses attacker-supplied FHIR JSON or XML. This issue is fixed in version 6.9.11.

Executive ViewAI

Why It Matters

HAPI FHIR versions prior to 6.9.11 contain a denial-of-service vulnerability exploitable by unauthenticated remote attackers, allowing them to crash FHIR data services through malformed healthcare records and directly threatening patient data exchange availability and clinical interoperability. While no public exploit code has been identified at time of analysis, the attack requires trivial effort, no user authentication, and no interaction-making it a significant operational risk. Organizations relying on HAPI FHIR for health information exchange face immediate availability threats without defensive measures.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Implement mandatory input validation enforcing maximum nesting depth and payload size limits on FHIR resource parsers, deploy WAF policies to reject deeply nested request structures, apply rate limiting to resource submission APIs, restrict network access to FHIR endpoints where operationally feasible, and maintain continuous monitoring and alerting for parser exceptions and resource submission anomalies.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
dominant Java FHIR implementation in healthcare IT
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy