CVE-2023-29400 Improper handling of empty HTML attributes in html/template

High 7.3 Published Updated

Attackers can inject arbitrary HTML attributes via empty inputs in unquoted template actions, potentially leading to XSS or code execution in Go applications.

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

What is CVE-2023-29400?

CVE-2023-29400 is a high-severity cross-site scripting vulnerability in Golang Go, published on 11 May 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Templates containing actions in unquoted HTML attributes (e.g. "attr={{.}}") executed with empty input can result in output with unexpected results when parsed due to HTML normalization rules. This may allow injection of arbitrary attributes into tags.

Weakness: CWE-74, CWE-94

Which versions are affected by CVE-2023-29400?

2 open source packages ship an affected version, including golang and stdlib. It affects 1 product.

PackageAffectedFixed in
golang BitnamiAll versions1.19.9, 1.20.4
stdlib GoAll versions1.19.9, 1.20.4

Products include Golang Go.

How do I fix CVE-2023-29400?

Upgrade golang to a fixed version for your release line: 1.19.9 or 1.20.4.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2023-29400 being exploited?

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

All Golang Go vulnerabilities

Sources

Also known as AZL-26615, AZL-26627, AZL-34749, AZL-37470, AZL-37500, AZL-79022 and 6 more.

Is CVE-2023-29400 in your software?

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

Check your SBOMs for free