CVE-2023-24538
概要

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.

公表日 2023年4月7日1:15
登録日 2023年4月7日10:00
最終更新日 2024年11月21日16:48
CVSS3.1 : CRITICAL
スコア 9.8
ベクター CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
攻撃元区分(AV) ネットワーク
攻撃条件の複雑さ(AC)
攻撃に必要な特権レベル(PR) 不要
利用者の関与(UI) 不要
影響の想定範囲(S) 変更なし
機密性への影響(C)
完全性への影響(I)
可用性への影響(A)
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:golang:go:*:*:*:*:*:*:*:* 1.20.0 1.20.3
cpe:2.3:a:golang:go:*:*:*:*:*:*:*:* 1.19.8
関連情報、対策とツール
共通脆弱性一覧

JVN脆弱性情報
The Go Project の Go におけるコードインジェクションの脆弱性
タイトル The Go Project の Go におけるコードインジェクションの脆弱性
概要

The Go Project の Go には、コードインジェクションの脆弱性が存在します。

想定される影響 情報を取得される、情報を改ざんされる、およびサービス運用妨害 (DoS) 状態にされる可能性があります。
対策

ベンダアドバイザリまたはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

公表日 2023年4月6日0:00
登録日 2023年11月17日14:11
最終更新日 2023年11月17日14:11
影響を受けるシステム
The Go Project
Go 1.19.8 未満
Go 1.20.0 以上 1.20.3 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2023年11月17日]   掲載 2023年11月17日14:11