CVE-2026-33487: CWE-347: Improper Verification of Cryptographic Signature in russellhaering goxmldsig
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.
AI Analysis
Technical Summary
The vulnerability in goxmldsig prior to version 1.6.0 arises from a loop variable capture issue in the validateSignature function within validate.go. Specifically, the code takes the address of the loop variable _ref instead of its value when iterating over references in the SignedInfo block. This causes the reference pointer to always point to the last element in the SignedInfo.References slice after the loop completes, which can lead to improper verification of XML digital signatures. This issue affects Go versions before 1.22 or when go.mod uses an older version. The vulnerability is identified as CWE-347 (Improper Verification of Cryptographic Signature) and CWE-682 (Incorrect Calculation). A patch fixing this issue is included in goxmldsig version 1.6.0.
Potential Impact
The vulnerability allows an attacker to potentially bypass proper cryptographic signature verification by exploiting the incorrect handling of references in the SignedInfo block. This can lead to acceptance of forged or tampered XML signatures, undermining the integrity and authenticity guarantees provided by XML Digital Signatures. The CVSS 3.1 base score is 7.5 (High), indicating a significant impact on integrity without requiring privileges or user interaction.
Mitigation Recommendations
A fixed version of goxmldsig is available as version 1.6.0, which addresses the loop variable capture issue in the validateSignature function. Users and organizations should upgrade to goxmldsig version 1.6.0 or later to remediate this vulnerability. Patch status is confirmed by the vendor advisory. No additional mitigations are indicated by the vendor advisories.
CVE-2026-33487: CWE-347: Improper Verification of Cryptographic Signature in russellhaering goxmldsig
Description
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.
CVSS v3.1
Score 7.5high
Affected software
pkg:golang/github.com/russellhaering/goxmldsigRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in goxmldsig prior to version 1.6.0 arises from a loop variable capture issue in the validateSignature function within validate.go. Specifically, the code takes the address of the loop variable _ref instead of its value when iterating over references in the SignedInfo block. This causes the reference pointer to always point to the last element in the SignedInfo.References slice after the loop completes, which can lead to improper verification of XML digital signatures. This issue affects Go versions before 1.22 or when go.mod uses an older version. The vulnerability is identified as CWE-347 (Improper Verification of Cryptographic Signature) and CWE-682 (Incorrect Calculation). A patch fixing this issue is included in goxmldsig version 1.6.0.
Potential Impact
The vulnerability allows an attacker to potentially bypass proper cryptographic signature verification by exploiting the incorrect handling of references in the SignedInfo block. This can lead to acceptance of forged or tampered XML signatures, undermining the integrity and authenticity guarantees provided by XML Digital Signatures. The CVSS 3.1 base score is 7.5 (High), indicating a significant impact on integrity without requiring privileges or user interaction.
Mitigation Recommendations
A fixed version of goxmldsig is available as version 1.6.0, which addresses the loop variable capture issue in the validateSignature function. Users and organizations should upgrade to goxmldsig version 1.6.0 or later to remediate this vulnerability. Patch status is confirmed by the vendor advisory. No additional mitigations are indicated by the vendor advisories.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-20T16:16:48.971Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Vendor Advisory Urls
- [{"url":"https://access.redhat.com/security/cve/CVE-2026-33487","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:22423","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:22347","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:21769","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:23345","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:13548","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:20946","vendor":"Red Hat"},{"url":"https://access.redhat.com/errata/RHSA-2026:20943","vendor":"Red Hat"}]
Threat ID: 69c570d8f4197a8e3bef1efc
Added to database: 03/26/2026, 17:46:00 UTC
Last enriched: 07/24/2026, 22:44:41 UTC
Last updated: 07/31/2026, 19:30:22 UTC
Views: 136
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.