Vulnerability · Published Mar 26, 2026 · Assigned by GitHub_M
CVE-2026-33487goxmldsig has validateSignature Loop Variable Capture Signature Bypass
High 7.5
In plain English
A high-severity security flaw in goxmldsig from russellhaering. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 25% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/russellhaering/goxmldsig | 1.6.0 | GHSA-479m-364c-43vc |
| Go | github.com/russellhaering/goxmldsig | 1.6.0 | GO-2026-4753 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| russellhaering | goxmldsig | < 1.6.0 |
Weakness: CWE-347, CWE-682 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
References
- https://github.com/russellhaering/goxmldsig/security/advisories/GHSA-479m-364c-43vc x_refsource_CONFIRM
- https://access.redhat.com/security/cve/CVE-2026-33487 vdb-entry, x_refsource_REDHAT
- RHBZ#2451814 issue-tracking, x_refsource_REDHAT
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33487.json x_sadp-csaf-vex
- https://access.redhat.com/errata/RHSA-2026:22423 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:22347 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:23345 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:36882 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:13548 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:20946 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:20943 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:21769 vendor-advisory, x_refsource_REDHAT