CVE-2026-12993: Apicurio Registry XML Entity Expansion DoS
Apicurio Registry contains a flaw in its XML parsing logic that allows authenticated users to cause service disruption. While the application blocks certain XML attack vectors like external entity references, it fails to disable internal entity expansion—specifically the 'billion-laughs' attack where deeply nested XML entities force the parser to consume massive amounts of CPU and memory. An attacker with permission to write artifacts can exploit this by uploading a specially crafted XML document. The Java XML parser has a built-in limit that provides partial protection, but it is not guaranteed to prevent all denial-of-service scenarios.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.5 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-776
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-26 / 2026-07-06
NVD description (verbatim)
A flaw was found in Apicurio Registry. The DocumentBuilderAccessor correctly blocks external DTD and schema access but does not disable DOCTYPE declarations or enable FEATURE_SECURE_PROCESSING. An attacker with artifact-write permission can upload XML documents with internal entity-expansion payloads (billion-laughs variant) that cause CPU and heap exhaustion, partially mitigated by the JAXP default 64,000 entity-expansion limit.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in Apicurio Registry's DocumentBuilderAccessor XML parsing implementation. While external DTD and schema access is properly blocked, the code does not disable DOCTYPE declarations or set FEATURE_SECURE_PROCESSING on the underlying DocumentBuilder. This permits entity-expansion attacks: an attacker can craft XML with internally defined entities that reference each other recursively. When the JAXP parser evaluates these entities, memory and CPU consumption grows exponentially. The Java platform's default limit of 64,000 entity expansions provides a safety boundary, but does not eliminate the risk of heap exhaustion or CPU starvation under sustained attack. This is classified as CWE-776 (Improper Restriction of Recursive Entity References in DTDs).
Business impact
The primary impact is service availability. An authenticated attacker (one holding artifact-write privileges in Apicurio Registry) can upload XML that degrades or stalls the registry service. In environments where Apicurio Registry is critical to API catalog management or schema governance, even intermittent availability loss disrupts development workflows and API publication pipelines. The vulnerability requires authentication, limiting blast radius to insider threats or compromised accounts within your organization. It does not expose data or allow privilege escalation.
Affected systems
Red Hat Build of Apicurio Registry is affected. Consult the Red Hat security advisory for specific version ranges. The flaw affects any Apicurio Registry deployment exposed to users or services with artifact-write permissions. Organizations should review role-based access controls to identify which accounts or service principals can upload artifacts.
Exploitability
Exploitation requires authentication and the artifact-write permission role. An attacker cannot exploit this remotely without valid credentials. The attack is straightforward—upload a malformed XML document—and does not require advanced tooling or interactions beyond standard API calls. Once the malicious XML is processed, denial-of-service occurs passively. The JAXP entity limit provides a speedbump but is not a complete mitigation, meaning repeated requests or deeply nested payloads may still cause observable performance degradation or memory pressure.
Remediation
Apply the security patch provided by Red Hat for the affected version series. Verify the patch version against the official Red Hat Apicurio Registry advisory. In parallel, review and enforce least-privilege access: restrict artifact-write permissions to trusted users and service accounts. Consider network-level controls to rate-limit artifact uploads or enforce authentication timeouts. If patching is delayed, monitor heap and CPU usage for anomalies during XML artifact uploads.
Patch guidance
Obtain the security patch from the Red Hat Build of Apicurio Registry release channels. The patch will harden DocumentBuilderAccessor by disabling DOCTYPE declarations and enabling FEATURE_SECURE_PROCESSING on the DocumentBuilder instance. Verify the exact patched version number in the Red Hat advisory before deploying. Test the patch in a staging environment with valid XML artifacts to confirm no legitimate functionality is broken. Roll out to production following your change control process.
Detection guidance
Monitor logs for repeated failed XML parsing events or unusual resource consumption (heap usage spikes, sustained high CPU) correlated with artifact uploads. Implement network flow monitoring to detect patterns of rapid or large XML document uploads. Use endpoint detection on the Registry service to observe process CPU and memory metrics during normal and attack scenarios. Log all artifact uploads with actor identity and source IP for forensic review. Consider implementing WAF rules to reject overly nested or entity-heavy XML at the ingress point.
Why prioritize this
This vulnerability scores CVSS 6.5 MEDIUM and is not on the Known Exploited Vulnerabilities list. However, it merits prompt attention because: (1) it is trivial to exploit given valid credentials, (2) it directly impacts service availability in a resource-constrained microservice environment, and (3) it may be overlooked if you have not reviewed XML security configurations recently. Prioritize patching after any critical or high-CVSS items, but do not defer indefinitely.
Risk score, explained
CVSS 6.5 reflects the attack vector (network-accessible), low complexity, and requirement for low-privilege authentication (artifact-write role). The impact is availability only (no confidentiality or integrity breach). The score would be higher if the vulnerability required no authentication or if it enabled data exfiltration; it would be lower if the service had built-in circuit breakers or if exploitation were difficult. The score is appropriate for a denial-of-service flaw in a service-layer component accessible to authenticated insiders or compromised low-privilege accounts.
Frequently asked questions
Can an unauthenticated attacker exploit this?
No. The vulnerability requires artifact-write permission, which is a low-privilege authenticated role but still requires valid credentials. External, unauthenticated access to the REST API is insufficient.
Does the JAXP entity limit completely protect us?
Partially. The Java default limit of 64,000 entity expansions will eventually halt parsing and raise an exception. However, reaching that threshold still consumes significant CPU and heap, and repeated attacks can degrade service or cause memory exhaustion. The limit is a safeguard, not a complete mitigation.
What if we cannot patch immediately?
Enforce strict access controls: restrict artifact-write permissions to essential service accounts and team members. Implement rate limiting on artifact uploads. Monitor heap and CPU metrics for anomalies. Consider temporary API gateway rules to reject XML documents with high entity counts. But plan to patch as soon as possible.
Is there an exploit public or in KEV?
No. As of the published date, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog. However, the simplicity of exploitation means you should assume potential adversaries are aware and can craft payloads quickly once the advisory is public.
This analysis is based on the CVE description, CVSS vector, and Red Hat vendor information available as of the publication date. Exploit details, patch versions, and KEV status may change; verify against official Red Hat Apicurio Registry security advisories before deploying. This explainer is for informational purposes and does not constitute legal, compliance, or professional security advice. Organizations must conduct their own risk assessment and testing in accordance with their security policies and regulatory requirements. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-44018MEDIUMDocling METS-GBS XML Parsing Vulnerability (v2.45-2.90)
- CVE-2026-44020HIGHXXE Vulnerability in Docling USPTO Patent Parser
- CVE-2026-45771HIGHFreeSWITCH XML Billion Laughs DoS – Unauthenticated Remote Denial of Service
- CVE-2026-10533MEDIUMOpenShift ResourceQuota Bypass Leads to API Server DoS
- CVE-2026-10609MEDIUMOpenShift Cluster Logging Operator Missing Authorization Vulnerability
- CVE-2026-11611MEDIUM389 Directory Server Memory Leak and Race Condition DoS
- CVE-2026-11785MEDIUM389 Directory Server Stack Address Disclosure via Type Confusion
- CVE-2026-11787MEDIUM389 Directory Server Buffer Over-read in LDAP Filter Parsing