🛡️ CVE-2026-49485 — org.hl7.fhir.dstu2
Description
org.hl7.fhir.core: ReDoS via FHIRPath matches()/replaceMatches() in FHIR Validator HTTP Endpoint
# Summary
All implementations of FHIRPathEngine accept arbitrary FHIRPath expressions and evaluate them without input validation. The utility intended to secure this evaluation did so incorrectly, and did not fully cover all places in which evaluation was being done. An attacker can send a resource containing an evil regex pattern that causes catastrophic backtracking, exhausting system resources, and causing Denial-of-Service.
Details
The vulnerability exists in regex execution in FHIRPathEngine implementations across multiple code modules. The FHIRPath functions matches(), matchesFull(), and replaceMatches() pass user-controlled regular expressions to Java's Pattern.compile() and String.replaceAll() through a utility class designed to time out after a specified interval. That utility correctly cancelled a single executor thread and returned with an exception, but the execution within the thread had no means to listen for this cancellation and would persist. Furthermore, three modules contained method calls in FHIRPathEngine that were not protected by this utility class.
Why this is exploitable:
Java's Pattern.compile() with a pattern like (a+)+$ against input "aaaaaaaaaaaaaaaaaaaaaa!" causes exponential backtracking (O(2^n) time complexity).
Impact
CPU Exhaustion: The exponential backtracking in Java's regex engine consumes 100% of a CPU core for the duration of the hang (effectively infinite for sufficiently long input strings) for callers of FHIRPathEngine.
How this vulnerability can be exploited
This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.
Weakness class
CVE-2026-49485 is classified as CWE-1333: Inefficient Regular Expression Complexity. A regular expression backtracks catastrophically on crafted input, consuming CPU out of proportion to input size.
Affected software
CVE-2026-49485 is recorded against 9 packages.
- ca.uhn.hapi.fhir:org.hl7.fhir.dstu2 (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.dstu2016may (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.dstu3 (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.r4 (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.r4b (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.r5 (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.validation (fixed in 6.9.4.2)
- ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli (fixed in 6.9.4.2)
- unknown
Timeline and source
Published on 9 July 2026. No public exploit is currently recorded for this entry. Record sourced from NVD.
References
Details
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Affected Packages
| Software | From version | Fixed in |
|---|---|---|
| ca.uhn.hapi.fhir:org.hl7.fhir.dstu2 | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.dstu2016may | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.dstu3 | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.r4 | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.r4b | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.r5 | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.validation | — | 6.9.4.2 |
| ca.uhn.hapi.fhir:org.hl7.fhir.validation.cli | — | 6.9.4.2 |
| unknown | — | — |
References
Similar Threats
More CVE 2026 advisories
Browse all of CVE 2026 in the advisory index.
Site Security Check
Is org.hl7.fhir.dstu2 part of your stack?
CVE-2026-49485 is rated CVSS 8.0 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.
Scan My Site Free →No credit card required · Results in minutes
ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.