Bug 2451814 (CVE-2026-33487) - CVE-2026-33487 github.com/russellhaering/goxmldsig: goxmlsig: Integrity bypass due to incorrect XML Digital Signature validation via loop variable capture issue
Summary: CVE-2026-33487 github.com/russellhaering/goxmldsig: goxmlsig: Integrity bypas...
Keywords:
Status: NEW
Alias: CVE-2026-33487
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2452363
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-03-26 18:02 UTC by OSIDB Bzimport
Modified: 2026-03-27 18:12 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-03-26 18:02:55 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.