CVE-2023-24538 in HTML Template情報

要約

〜によって VulDB • 2026年08月29日

テンプレートはバッククォート(`)をJavaScript文字列の区切り文字として適切に考慮せず、期待通りにエスケープしません。ES6以降、バッククォールはJSテンプレートリテラルに使用されています。もしテンプレート内にJavaScriptテンプレートリテラルの中にGoテンプレアクションが含まれている場合、そのアクションの内容を使用してリテラルを終了させ、任意のJavaScriptコードをGoテンプレートにインジェクトすることができます。ES6のテンプレートリテラルはかなり複雑であり、文字列補間を行うことができるため、この動作を許可する明確で安全な方法がないことから、それら内部でのGoテンプレアクションの使用を単純に禁止するという決定が下されました(例: "var a = {{.}}")。これはgithub.com/google/safehtmlと同じアプローチを採用しています。修正後、Template.Parseはこのようなテンプレートに出会った際にErrorCode 12のErrorを返します。このErrorCodeは現在エクスポートされていませんが、Go 1.21リリース時にエクスポートされる予定です。以前の動作に依存しているユーザーはGODEBUGフラグ jstmpllitinterp=1を使用してこれを再有効化できますが、バッククォールは今後エスケープされるという注意点があります。これは注意して使用する必要があります。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

予約する

2023年01月25日

モデレーション

承諾済み

エントリ

VDB-225158

EPSS

0.02281

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!