CVE-2026-33487
goxmlsig provides XML Digital Signatures implemented in Go. Prior to version 1.6.0, the `validateSignature` function in `validate.go` goes through the references in the `SignedInfo` block to find one that matches the signed element's ID. In Go versions before 1.22, or when `go.mod` uses an older version, there is a loop variable capture issue. The code takes the address of the loop variable `_ref` instead of its value. As a result, if more than one reference matches the ID or if the loop logic is incorrect, the `ref` pointer will always end up pointing to the last element in the `SignedInfo.References` slice after the loop. goxmlsig version 1.6.0 contains a patch.
Scoring
- Severity
- HIGH
- CVSS base score
- 7.5
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- EPSS probability
- 0.30%
- CWE
- CWE-347, CWE-682
- Published
- 2026-03-26
- Last modified
- 2026-09-09
Affected products
- russellhaering goxmldsig
Weakness type
Related vulnerabilities
- CVE-2023-54355 — PocketMine-MP 5.2.0 Server Crash via Incorrect EC Curve
- CVE-2026-79970 — Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell SCG 5.0 Application versions prior to...
- CVE-2026-56207 — Apache Impala: SAML authentication bypass via forged bearer token
- CVE-2026-87732 — An issue was discovered in the mirage-crypto package before 2.2.0 for OCaml. The...
- CVE-2026-86080 — n8n: GitHub Trigger 422 Reuse Path Skips Webhook Secret Storage, Causing Signature Verification to Fail-Open
- CVE-2026-69646 — Skype for Business Spoofing Vulnerability
- CVE-2026-57098 — Microsoft Remote Desktop App for Windows Information Disclosure Vulnerability
- CVE-2026-14296 — nRF54H20: MCUBoot can be tricked to executing unauthenticated code