#VU74574 Code Injection in Go programming language


Published: 2023-04-06

Vulnerability identifier: #VU74574

Vulnerability risk: High

CVSSv3.1: 7.9 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2023-24538

CWE-ID: CWE-94

Exploitation vector: Network

Exploit availability: No

Vulnerable software:
Go programming language
Universal components / Libraries / Scripting languages

Vendor: Google

Description

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to improper input validation in html/template when handling JavaScript templates that contain backticks in code. If a template contains a Go template action within a JavaScript template literal, the contents of the action can be used to terminate the literal, injecting arbitrary JavaScript code into the Go template.

Mitigation
Install updates from vendor's website.

Vulnerable software versions

Go programming language: 1.20 - 1.20.2, 1.19 - 1.19.7


External links
http://go.dev/cl/482079
http://pkg.go.dev/vuln/GO-2023-1703
http://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8
http://go.dev/issue/59234


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.


Latest bulletins with this vulnerability