CVE-2026-113729 json
Moov signedxml: Unauthenticated denial of service in exclusive XML canonicalization
published 2026-10-20 19 d ago modified 2026-11-05 3 d ago also GHSA-5588-rp99-5fjh , GO-2026-6826 , EUVD-2026-105774
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
Moov signedxml is a pure Go library for processing signed XML documents. Prior to 1.4.1, ExclusiveCanonicalization in exclusivecanonicalization.go copies the complete accumulated namespace map at every nested element before reference digest or signature checks. Attacker-controlled XML containing deeply nested elements with many unused namespace declarations causes quadratic allocation growth with depth and linear growth with prefixes per level, allowing a comparatively small document to consume multiple gigabytes of memory and terminate the process. The condition is reachable through ValidateReferences without a valid signature, matching certificate, or prior authentication, and it does not bypass signature verification. This issue is fixed in version 1.4.1.
Patch / fix
- go github.com/moov-io/signedxml 1.4.1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-113729 updated cvss 7.5
github.com/moov-io/signedxml: signedxml: Denial of Service via deeply nested XML elements with namespace declarations
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 12 d ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/moov-io/signedxml | <1.4.1 |
1.4.1 |
Affected products
- moov-io signedxml
Classification
References
-
github.com
/moov-io/signedxml/commit/da2cd6126c4c53b7e59a367d287786e6f6a2d0d3
web, patch
-
github.com
/moov-io/signedxml/security/advisories/GHSA-5588-rp99-5fjh
web, advisory
-
github.com
/moov-io/signedxml/releases/tag/v1.4.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-113729
advisory
-
github.com
/moov-io/signedxml
package
Sources
- CVE List CVE-2026-113729
- GitHub Advisory GHSA-5588-rp99-5fjh
- NVD CVE-2026-113729
- OSV GO-2026-6826
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.