CVE-2023-24538
Go Template Backtick Injection Vulnerability
Description
Templates do not properly consider backticks (`) as Javascript string delimiters, and do not escape them as expected. Backticks are used, since ES6, for JS template literals. 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. As ES6 template literals are rather complex, and themselves can do string interpolation, the decision was made to simply disallow Go template actions from being used inside of them (e.g. "var a = {{.}}"), since there is no obviously safe way to allow this behavior. This takes the same approach as github.com/google/safehtml. With fix, Template.Parse returns an Error when it encounters templates like this, with an ErrorCode of value 12. This ErrorCode is currently unexported, but will be exported in the release of Go 1.21. Users who rely on the previous behavior can re-enable it using the GODEBUG flag jstmpllitinterp=1, with the caveat that backticks will now be escaped. This should be used with caution.
INFO
Published Date :
April 6, 2023, 4:15 p.m.
Last Modified :
Nov. 25, 2023, 11:15 a.m.
Source :
[email protected]
Remotely Exploitable :
Yes !
Impact Score :
5.9
Exploitability Score :
3.9
Public PoC/Exploit Available at Github
CVE-2023-24538 has a 5 public PoC/Exploit
available at Github.
Go to the Public Exploits
tab to see the list.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2023-24538
.
URL | Resource |
---|---|
https://go.dev/cl/482079 | Patch |
https://go.dev/issue/59234 | Issue Tracking Patch |
https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 | Mailing List |
https://pkg.go.dev/vuln/GO-2023-1703 | Vendor Advisory |
https://security.gentoo.org/glsa/202311-09 |
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
None
ipmi-server docker container with Symfony router to connect Home Assistant with IPMI interfaces in a home lab setup.
PHP Dockerfile
go CVE-2023-24538 patch issue resolver - Kirkstone
Python PHP BitBake Clojure Fortran Shell C Makefile NASL HTML
go CVE-2023-24538 patch issue resolver - Dunfell
Python PHP BitBake Fortran Clojure Shell C Makefile NASL HTML
📡 PoC auto collect from GitHub. ⚠️ Be careful Malware.
security cve exploit poc vulnerability
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2023-24538
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2023-24538
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by [email protected]
May. 14, 2024
Action Type Old Value New Value -
CVE Modified by [email protected]
Nov. 25, 2023
Action Type Old Value New Value Added Reference Go Project https://security.gentoo.org/glsa/202311-09 [No types assigned] -
CVE Modified by [email protected]
Nov. 07, 2023
Action Type Old Value New Value Removed CWE Go Project CWE-94 -
Initial Analysis by [email protected]
Apr. 17, 2023
Action Type Old Value New Value Added CVSS V3.1 NIST AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Changed Reference Type https://go.dev/cl/482079 No Types Assigned https://go.dev/cl/482079 Patch Changed Reference Type https://go.dev/issue/59234 No Types Assigned https://go.dev/issue/59234 Issue Tracking, Patch Changed Reference Type https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 No Types Assigned https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 Mailing List Changed Reference Type https://pkg.go.dev/vuln/GO-2023-1703 No Types Assigned https://pkg.go.dev/vuln/GO-2023-1703 Vendor Advisory Added CWE NIST CWE-94 Added CPE Configuration OR *cpe:2.3:a:golang:go:*:*:*:*:*:*:*:* versions up to (excluding) 1.19.8 *cpe:2.3:a:golang:go:*:*:*:*:*:*:*:* versions from (including) 1.20.0 up to (excluding) 1.20.3
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2023-24538
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2023-24538
weaknesses.
Exploit Prediction
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days.
0.74 }} 0.10%
score
0.81283
percentile