CVE-2023-39319 Improper handling of special tags within script contexts in html/template
Improper handling of special tags in Go's html/template package allows attackers to perform XSS attacks by bypassing escaping mechanisms.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2023-39319?
CVE-2023-39319 is a medium-severity cross-site scripting vulnerability in Golang Go, published on 8 Sep 2023. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
The html/template package does not apply the proper rules for handling occurrences of "<script", "<!--", and "</script" within JS literals in <script> contexts. This may cause the template parser to improperly consider script contexts to be terminated early, causing actions to be improperly escaped. This could be leveraged to perform an XSS attack.
Weakness: CWE-79
Which versions are affected by CVE-2023-39319?
2 open source packages ship an affected version, including golang and stdlib. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
golang Bitnami | All versions | 1.20.8, 1.21.1 |
stdlib Go | All versions | 1.20.8, 1.21.1 |
Products include Golang Go.
How do I fix CVE-2023-39319?
Upgrade golang to a fixed version for your release line: 1.20.8 or 1.21.1.
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-39319 being exploited?
There is no known exploitation of CVE-2023-39319 in the wild and no public exploit code.
Other vulnerabilities in Golang Go
- CVE-2020-0601 Microsoft Windows CryptoAPI Spoofing
- CVE-2026-27143 Missing bound checks can lead to memory corruption in safe Go in cmd/compile
- CVE-2024-24790 Unexpected behavior from Is methods for IPv4-mapped IPv6 addresses in net/netip
- CVE-2023-39320 Arbitrary code execution via go.mod toolchain directive in cmd/go
- CVE-2023-24540 Improper handling of JavaScript whitespace in html/template
Sources
Also known as AZL-28695, AZL-28830, AZL-34745, AZL-37293, AZL-37403, AZL-78956 and 8 more.