PT-2026-26773

CVE-2026-33487

·

Published

2026-03-18

·

Updated

2026-10-06

Description by

CVSS 3.1
7.5
High
MetricsAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Name of the Vulnerable Software and Affected Versions goxmlsig versions prior to 1.6.0 goxmlsig versions prior to 1.22 (when using older Go versions or go.mod versions)
Description The validateSignature function in validate.go has a loop variable capture issue in Go versions before 1.22, or when go.mod uses an older version. The code takes the address of the loop variable ref instead of its value, causing the ref pointer to always point to the last element in the SignedInfo.References slice after the loop. This allows an attacker to bypass integrity checks for certain signed elements by replacing their content with the content from another element referenced in the same signature. The issue stems from the code taking the address of a loop iteration variable, which is reused throughout the loop, leading to pointer aliasing. A proof-of-concept (PoC) demonstrates that altering the first element to match the second produces a valid signature.
Recommendations Update to goxmlsig version 1.6.0 or later. For Go versions prior to 1.22, or when go.mod uses an older version, modify the loop in validate.go to capture the value of ref correctly or use the index to reference the slice directly.
Exploitability
Exploit
Fix
Impacts
Researchers
Vendors
Affected products
Related identifiers
GHSA-479M-364C-43VC
CLEANSTART-2026-AG91746
CLEANSTART-2026-AK43046
CLEANSTART-2026-BG93699
CLEANSTART-2026-BM78291
CLEANSTART-2026-IN26303
CLEANSTART-2026-KK55331
CLEANSTART-2026-MA83809
CLEANSTART-2026-OH26633
CLEANSTART-2026-ON19155
CLEANSTART-2026-OY74734
CLEANSTART-2026-SQ76279
CLEANSTART-2026-SY48547
CLEANSTART-2026-TW34089
CLEANSTART-2026-VA24082
CLEANSTART-2026-VE68915
CLEANSTART-2026-YZ14479
GO-2026-4753
OPENSUSE-SU-2026:11126-1
OPENSUSE-SU-2026:21483-1
SUSE-SU-2026:1205-1
Found an issue in the description? Have something to add? Feel free to write us 👾