Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-24538— Backticks not treated as string delimiters in html/template

Quick assessment

Affected
Go standard library html/template
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Google Golang是美国谷歌(Google)公司的一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。 Google Golang 存在安全漏洞,该漏洞源于Templates没有正确地将反引号` 视为 Javascrip

AI Predicted 6.1 Difficulty: Moderate EPSS 2.28% · P83

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-24538

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Backticks not treated as string delimiters in html/template
Source: CVE Program / CVE List V5
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.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Google Golang 代码注入漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Google Golang是美国谷歌(Google)公司的一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。 Google Golang 存在安全漏洞,该漏洞源于Templates没有正确地将反引号` 视为 Javascrip
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Go standard library html/template 0 ~ 1.19.8 -

II. Public POCs for CVE-2023-24538

# POC Description Source Link Shenlong Link
1 go CVE-2023-24538 patch issue resolver - Dunfell https://github.com/skulkarni-mv/goIssue_dunfell POC Details
2 go CVE-2023-24538 patch issue resolver - Kirkstone https://github.com/skulkarni-mv/goIssue_kirkstone POC Details
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-24538

请登录查看更多情报信息。

Vendor Advisories for CVE-2023-24538 (1)

Other References for CVE-2023-24538 (4)

Same Patch Batch · Go standard library · 2023-04-06 · 4 CVEs total

CVE-2023-24534 Excessive memory allocation in net/http and net/textproto
CVE-2023-24536 Excessive resource consumption in net/http, net/textproto and mime/multipart
CVE-2023-24537 Infinite loop in parsing in go/scanner

IV. Related Vulnerabilities

V. Comments for CVE-2023-24538

No comments yet


Leave a comment