Skip to content

GHSA-q547-gmf8-8jr7 CVE-2020-15216 GO-2020-0050

github.com/russellhaering/goxmldsig vulnerable to Signature Validation Bypass

Medium Go
Severity
5.3 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.90%
Chance of exploitation in the next 30 days. Higher than 59.61% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-347 Improper Verification of Cryptographic Signature
Fix
1.1.0
Upgrade github.com/russellhaering/goxmldsig to this version or later

Description

Impact

With a carefully crafted XML file, an attacker can completely bypass signature validation and pass off an altered file as a signed one.

Patches

A patch is available, all users of goxmldsig should upgrade to v1.1.0.

For more information

If you have any questions or comments about this advisory open an issue at https://github.com/russellhaering/goxmldsig

Affected versions

Go

PackageVulnerableFixed in
github.com/russellhaering/goxmldsig
< 1.1.0
1.1.0

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

github.com/russellhaering/goxmldsig Go → 1.1.0

go
go get github.com/russellhaering/goxmldsig@v1.1.0 && go mod tidy

Severity breakdown

CVSS 3.1 5.3

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Weakness

CWE-347: Improper Verification of Cryptographic Signature

The product does not verify, or incorrectly verifies, the cryptographic signature for data.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-m9hp-7r99-94h5
Authentication Bypass in dex
Critical Linked by the source
GHSA-479m-364c-43vc
validateSignature Loop Variable Capture Signature Bypass in goxmldsig
High Also affects github.com/russellhaering/goxmldsig
GHSA-rrfw-hg9m-j47h
Signature Validation Bypass
Critical Also affects github.com/russellhaering/goxmldsig
GHSA-mqqv-chpx-vq25
Duplicate Advisory: gosaml2 is vulnerable to NULL Pointer Dereference from malformed XML signatures
High Also affects github.com/russellhaering/goxmldsig
EEF-CVE-2026-65632
ECDSA signature length is not validated in jose, allowing signature malleability
Not rated yet Same weakness, CWE-347
GHSA-pxh4-856f-4h89
PyJWT: HS256/384/512 verify accepts empty HMAC key via oct JWK (PyJWK/PyJWKClient) enabling token forgery
High Same weakness, CWE-347
GHSA-j7h2-66j4-ghjf
A russh SSH server accepts a publickey authentication whose signature uses a different algorithm than the one named in the request
Low Same weakness, CWE-347
GHSA-w2cx-738m-mc7w
PyJWT accepts public JWK containers as HMAC secrets
High Same weakness, CWE-347

Credits: @jupenur

Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor