Vulnerability in ca.uhn.hapi.fhir:org.hl7.fhir.r5 (CVE-2026-81875)
Summary
Vulnerability in ca.uhn.hapi.fhir:org.hl7.fhir.r5 (CVE-2026-81875). Risk of unauthorized operations or information disclosure. Exploitable via SHCParser. Mitigation: upgrade to 6.9.12 or later.
Original description
The description as published by the source.
Summary
SHCParser inflates compressed Smart Health Card JWT payloads into memory without a decompressed-size limit. An attacker who can submit SHC content for validation can craft a small compressed JWT payload that expands to a very large byte array, causing memory exhaustion or severe garbage collection pressure.
Details
The vulnerable code is in org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/SHCParser.java.
decodeJWT() checks MAX_ALLOWED_SHC_LENGTH, but this only logs an error and parsing continues:
// SHCParser.java:282-284
if (jwt.length() > MAX_ALLOWED_SHC_LENGTH) {
logError(...);
}
If the header contains "zip":"DEF", the payload is inflated before JSON parsing:
// SHCParser.java:300-304
if ("DEF".equals(res.header.asString("zip"))) {
payloadJson = inflate(payloadJson);
}
res.payload = JsonParser.parseObject(FileUtilities.bytesToString(payloadJson), true);
inflate() accumulates all decompressed output in a ByteArrayOutputStream and has no maximum output size:
// SHCParser.java:455-468
while (!inflater.finished()) {
final int count = inflater.inflate(buffer);
outputStream.write(buffer, 0, count);
}
return outputStream.toByteArray();
The same unbounded decompression pattern exists in decompress() at SHCParser.java:410-423.
PoC
Create a highly compressible SHC-shaped JSON payload, compress it with raw DEFLATE (new Deflater(9, true)), Base64URL-encode it as the JWT payload, and…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-81875 has been found in ca.uhn.hapi.fhir:org.hl7.fhir.r5.
Attackers can target a specific entry point like SHCParser over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 7.5/10.
What to do: upgrade ca.uhn.hapi.fhir:org.hl7.fhir.r5 to 6.9.12 or later.
If unsure, ask your IT team or search "ca.uhn.hapi.fhir:org.hl7.fhir.r5 CVE-2026-81875" on the vendor's site.
CVE-2026-81875 (ca.uhn.hapi.fhir:org.hl7.fhir.r5) — CWE-20 / CVSS v3 7.5
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: SHCParser / MAX_ALLOWED_SHC_LENGTH / ByteArrayOutputStream / OutOfMemoryError
Patched: 6.9.12 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-20) exists in ca.uhn.hapi.fhir:org.hl7.fhir.r5. Attackers reach the vulnerable code path via SHCParser without authentication.
Check the vendor advisory for the affected versions of ca.uhn.hapi.fhir:org.hl7.fhir.r5. Attack surface: SHCParser / MAX_ALLOWED_SHC_LENGTH / ByteArrayOutputStream / OutOfMemoryError.
Severity: High (CVSS 7.5/10). Risk of unauthorized operations or information disclosure.
Update to 6.9.12.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Audit SBOM/dependencies to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで ca.uhn.hapi.fhir:org.hl7.fhir.r5 を使っているサービスとバージョンを洗い出す。
-
2Apply patch patch
Upgrade ca.uhn.hapi.fhir:org.hl7.fhir.r5 to 6.9.12ステージング環境で 6.9.12 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web nvd.nist.gov
- web github.com