CVE-2026-55470: HAPI FHIR ReDoS Vulnerability in DSTU2 Module – Patch Now
HAPI FHIR, a widely-used Java library for healthcare data exchange, contains a regular expression denial-of-service (ReDoS) vulnerability in its DSTU2 module. An unauthenticated attacker can send specially crafted input to the FHIRPathEngine.matches() function, causing the server to enter catastrophic regex backtracking and consume CPU resources until the service becomes unresponsive. This is a regression—a prior patch for a related vulnerability (CVE-2026-45367) fixed the same issue in one function but missed it in another, leaving the attack surface open.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-1333
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-07-08 / 2026-07-16
NVD description (verbatim)
HAPI FHIR is a complete implementation of the HL7 FHIR standard for healthcare interoperability in Java. Prior to 6.9.10, the fix for CVE-2026-45367 incompletely patched the DSTU2 module, leaving FHIRPathEngine.matches() in org.hl7.fhir.dstu2/utils/FHIRPathEngine.java to call raw String.matches(sw) without RegexTimeout protection while replaceMatches() was updated, allowing an unauthenticated attacker to trigger catastrophic regex backtracking and exhaust server CPU. This issue is fixed in version 6.9.10.
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-55470 is a regular expression denial-of-service (ReDoS) vulnerability in HAPI FHIR versions before 6.9.10. The root cause is an incomplete patch to CVE-2026-45367. While the replaceMatches() method in org.hl7.fhir.dstu2/utils/FHIRPathEngine.java was updated to use RegexTimeout protection, the matches() method was overlooked and still calls raw String.matches(sw) without timeout safeguards. An attacker can exploit this by submitting FHIR queries or data with maliciously crafted regular expressions that trigger quadratic backtracking behavior in Java's regex engine. The attack requires no authentication and succeeds on the default configuration (AV:N/PR:N). The impact is purely availability—successful exploitation exhausts CPU and causes denial of service.
Business impact
Healthcare organizations relying on HAPI FHIR for EHR interoperability face service disruption risk. A successful attack leaves the FHIR endpoint unresponsive, degrading patient care workflows that depend on real-time data exchange (e.g., referrals, medication reconciliation, lab result retrieval). Recovery requires manual service restart. The unauthenticated nature and low barrier to entry increase operational risk, particularly for organizations operating FHIR interfaces as public or semi-public APIs. Attackers do not gain data access, but the availability impact can trigger incident response costs and regulatory reporting obligations if availability SLAs are breached.
Affected systems
HAPI FHIR Core versions prior to 6.9.10 are affected, specifically the DSTU2 module (org.hl7.fhir.dstu2). Organizations should inventory deployments of hapifhir:hl7_fhir_core and identify which versions are in use. This includes embedded use in custom FHIR servers, integration platforms, and healthcare data exchange applications built on HAPI FHIR. The vulnerability does not affect organizations using FHIR servers or libraries unrelated to HAPI FHIR.
Exploitability
Exploitability is high. The attack vector is network-based, no authentication is required, and no user interaction is necessary. An attacker with network access to a FHIR endpoint can trigger the vulnerability by submitting a single HTTP request containing a malicious FHIRPath expression or FHIR query parameter that exercises the regex engine. No special privileges, knowledge of system internals, or complex multi-step attack chain is required. Proof-of-concept code would be trivial to construct for anyone familiar with ReDoS principles. However, successful exploitation depends on the FHIR server actually calling the vulnerable matches() function with attacker-controlled input—organizations may reduce risk if their application logic does not expose FHIRPath querying to untrusted users.
Remediation
Upgrade HAPI FHIR Core to version 6.9.10 or later. This version includes the complete fix for CVE-2026-45367, adding RegexTimeout protection to the matches() method in the DSTU2 module. Organizations should test the upgrade in a non-production environment to ensure compatibility with downstream integrations and custom code that depends on HAPI FHIR. Verify against the vendor advisory that your deployment includes the patched DSTU2 module if you use a modular or shaded build of HAPI FHIR.
Patch guidance
Download and deploy HAPI FHIR 6.9.10 or later from the official repository. If you build HAPI FHIR as part of a larger application, ensure your dependency management tool (Maven, Gradle) pulls the updated version and that you rebuild and redeploy your application. If you use a FHIR server distribution that bundles HAPI FHIR, check with the vendor to confirm when a compatible release will be available. Apply this patch with high priority given the CVSS 7.5 severity and low barrier to exploitation. No configuration-only workaround mitigates the vulnerability; code-level fixes are necessary.
Detection guidance
Monitor FHIR endpoint logs for unusual or repetitive FHIRPath expression submissions, particularly those containing complex regex-like syntax or requests that cause prolonged CPU spikes. Correlate HTTP access logs with CPU utilization metrics to identify potential ReDoS attacks. Standard regex patterns that include nested quantifiers (e.g., (a+)+ or (a|a)* variants) or excessive alternation are common attack signatures. Host-based monitoring of CPU usage on FHIR servers can reveal when the vulnerable matches() function is being abused. After patching, establish a baseline for normal FHIRPath query performance to aid future anomaly detection.
Why prioritize this
This vulnerability merits urgent remediation despite not being on the KEV catalog. The CVSS 7.5 HIGH score reflects the combination of easy exploitability (AV:N/PR:N/UI:N) and direct service availability impact. The regression nature of this bug—a prior patch was incomplete—suggests the vulnerability may have been in production for some time, increasing exposure. Healthcare environments are particularly sensitive to availability issues, and unauthenticated ReDoS attacks are frequently used as staging points for larger attacks or competitive sabotage. Organizations with public-facing FHIR endpoints should prioritize this above lower-impact vulnerabilities.
Risk score, explained
The CVSS 3.1 score of 7.5 (HIGH) is driven by maximum exploitability ratings (AV:N/AC:L/PR:N/UI:N) and a severe availability impact (A:H). The attack vector is the network, no special conditions or user interaction are required, and authorization is not necessary. The scope is unchanged (single vulnerable component). The confidentiality and integrity impacts are none—attackers cannot read or modify data. However, the ability to completely deny service to an unauthenticated attacker warrants the HIGH classification. The score does not account for business context (healthcare) or organizational factors; your internal risk model should weight this accordingly.
Frequently asked questions
Does this vulnerability require FHIR authentication to exploit?
No. The vulnerability is unauthenticated, meaning an attacker does not need valid credentials or an authenticated session. Any network user with access to the FHIR endpoint can trigger the attack.
What is the difference between this CVE and CVE-2026-45367?
CVE-2026-45367 was a similar ReDoS vulnerability in the same FHIRPathEngine. A patch was released for it, but the patch was incomplete—it fixed the replaceMatches() method but overlooked the matches() method. CVE-2026-55470 is the regression, exposing the unfixed matches() method. Version 6.9.10 addresses both.
Is there a configuration setting that disables FHIRPath evaluation to reduce risk before patching?
Consult your FHIR server and HAPI FHIR documentation to determine if FHIRPath query support can be disabled or rate-limited at the application level. However, patching is the authoritative fix. Any workaround should be temporary and verified not to break critical workflows.
If we do not use the DSTU2 module, are we still affected?
The vulnerable code is specific to the DSTU2 module (org.hl7.fhir.dstu2). Organizations using only newer FHIR versions (STU3, R4, R5) are not directly exposed by this CVE, though they should still upgrade to benefit from the complete patch and any other fixes in 6.9.10.
This analysis is based on the vulnerability description and CVSS vector provided as of the publication date. Organizations should verify patch availability, compatibility, and deployment timelines against official vendor advisories before applying updates. Testing in non-production environments is strongly recommended. This document does not constitute legal, medical, or compliance advice. Consult your organization's security and compliance teams regarding specific regulatory requirements (e.g., HIPAA, HITRUST) that may apply to patching healthcare IT systems. Exploitation scenarios and attack timelines are illustrative and may vary depending on network access, configuration, and application logic unique to your environment. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-14895HIGHString::Util ReDoS Vulnerability in Perl trim and rtrim Functions
- CVE-2026-42567HIGHSvelte ReDoS Vulnerability in Dynamic Element Tags
- CVE-2026-44496HIGHAxios XSRF Cookie Regex DoS Vulnerability – Security Patch Guidance
- CVE-2026-45617HIGHLiquidJS strip_html ReDoS Denial of Service Vulnerability
- CVE-2026-49293HIGHjs-toml TOML Parser CPU Exhaustion DoS (v1.1.0 and earlier)
- CVE-2026-49851HIGHMistune Markdown Parser CPU Exhaustion DoS Vulnerability
- CVE-2026-52794HIGHSentry ReDoS Vulnerability in Event Ingestion (CVSS 7.5)
- CVE-2026-54268HIGHAngular DatePipe Denial of Service – High CVSS 7.5