Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend unauthenticated POST with deeply nested FHIR resource
-
DeliveryParser enters mutual recursion on nested elements
-
ExploitNesting depth exceeds JVM thread stack limit
-
ExecutionStackOverflowError terminates worker thread
-
PersistRepeat requests to exhaust thread pool
-
ImpactFHIR 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable with no authentication or preconditions required; impact is exclusively availability via unrecoverable thread crash with no data exposure.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.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.
Articles & Coverage 1
Executive ViewAI
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
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
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-54643
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB