9.8
CRITICAL
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.

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.

Affected Products

The following products are affected by CVE-2023-24538 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Golang go
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

Updated: 4 weeks ago
0 stars 0 fork 0 watcher
Born at : July 5, 2024, 2:18 p.m. This repo has been linked 40 different CVEs too.

ipmi-server docker container with Symfony router to connect Home Assistant with IPMI interfaces in a home lab setup.

PHP Dockerfile

Updated: 4 months, 1 week ago
1 stars 2 fork 2 watcher
Born at : Feb. 1, 2024, 6:52 p.m. This repo has been linked 4 different CVEs too.

go CVE-2023-24538 patch issue resolver - Kirkstone

Python PHP BitBake Clojure Fortran Shell C Makefile NASL HTML

Updated: 11 months, 3 weeks ago
0 stars 0 fork 0 watcher
Born at : Sept. 29, 2023, 5:18 p.m. This repo has been linked 1 different CVEs too.

go CVE-2023-24538 patch issue resolver - Dunfell

Python PHP BitBake Fortran Clojure Shell C Makefile NASL HTML

Updated: 11 months, 3 weeks ago
0 stars 0 fork 0 watcher
Born at : Sept. 29, 2023, 8:09 a.m. This repo has been linked 1 different CVEs too.

📡 PoC auto collect from GitHub. ⚠️ Be careful Malware.

security cve exploit poc vulnerability

Updated: 1 week, 4 days ago
6375 stars 1107 fork 1107 watcher
Born at : Dec. 8, 2019, 1:03 p.m. This repo has been linked 904 different CVEs too.

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
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.
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.65 }} 0.10%

score

0.79881

percentile

CVSS31 - Vulnerability Scoring System
Attack Vector
Attack Complexity
Privileges Required
User Interaction
Scope
Confidentiality
Integrity
Availability