CVE-2020-29509 Authentication Bypass in github.com/russellhaering/gosaml2

Critical 9.8 Published Updated

Attackers can craft XML inputs that behave inconsistently during processing, potentially bypassing security checks in applications using the Go encoding/xml package.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-29509?

CVE-2020-29509 is a critical vulnerability in Golang Go, published on 14 Dec 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The encoding/xml package in Go (all versions) does not correctly preserve the semantics of attribute namespace prefixes during tokenization round-trips, which allows an attacker to craft inputs that behave in conflicting ways during different stages of processing in affected downstream applications.

Weakness: CWE-115

Which versions are affected by CVE-2020-29509?

4 open source packages ship an affected version, including golang and github.com/russellhaering/gosaml2. It affects 2 products.

PackageAffectedFixed in
golang BitnamiAll versions1.17.0
github.com/russellhaering/gosaml2 GoAll versions0.6.0
github.com/russellhaering/gosaml2 GoAll versions0.6.0
github.com/russellhaering/gosaml2 GoAll versions0.6.0

Products include Golang Go, Netapp Trident.

How do I fix CVE-2020-29509?

Upgrade golang to 1.17.0 or later.

Is CVE-2020-29509 being exploited?

There is no known exploitation of CVE-2020-29509 in the wild and no public exploit code.

All Golang Go vulnerabilities

Sources

Also known as AZL-6448, AZL-78900, BIT-golang-2020-29509, DEBIAN-CVE-2020-29509, GHSA-xhqq-x44f-9fgg, GO-2021-0060 and 2 more.

Is CVE-2020-29509 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free