CVE-2023-24538
criticalpriority · attend · 50EPSS 0.023 · 83 %ileexploit · PoCDEEURUUSEPSS · scored 2026-10-27
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.
remediations
Vendor fix, mitigation, or workaround guidance, as published by each source.
A vendor fix is available.
- FixedSCALANCE XCH328 (6GK5328-4TS01-2EC2)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCM324 (6GK5324-8TS01-2AC2)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCM328 (6GK5328-4TS01-2AC2)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCM332 (6GK5332-0GA01-2AC2)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRH334 (24 V DC, 8xFO, CC) (6GK5334-2TS01-2ER3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (230 V AC, 12xFO) (6GK5334-3TS01-3AR3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (230 V AC, 8xFO) (6GK5334-2TS01-3AR3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (24 V DC, 12xFO) (6GK5334-3TS01-2AR3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (24 V DC, 8xFO) (6GK5334-2TS01-2AR3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (2x230 V AC, 12xFO) (6GK5334-3TS01-4AR3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (2x230 V AC, 8xFO) (6GK5334-2TS01-4AR3)siemens_psirt
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCH328 (6GK5328-4TS01-2EC2)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCM324 (6GK5324-8TS01-2AC2)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCM328 (6GK5328-4TS01-2AC2)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XCM332 (6GK5332-0GA01-2AC2)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRH334 (24 V DC, 8xFO, CC) (6GK5334-2TS01-2ER3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (230 V AC, 12xFO) (6GK5334-3TS01-3AR3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (230 V AC, 8xFO) (6GK5334-2TS01-3AR3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (24 V DC, 12xFO) (6GK5334-3TS01-2AR3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (24 V DC, 8xFO) (6GK5334-2TS01-2AR3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (2x230 V AC, 12xFO) (6GK5334-3TS01-4AR3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/ - FixedSCALANCE XRM334 (2x230 V AC, 8xFO) (6GK5334-2TS01-4AR3)cisa_csaf_ot
Update to V2.4 or later version
https://support.industry.siemens.com/cs/ww/en/view/109826613/
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
exploits (2)
Public proof-of-concept and weaponised exploit code.
affected products (116)
Products and version ranges known to be affected.
- Xerox FreeFlow Print Server v7 for Solarisall versionscert_bundDEcpe:/a:xerox:freeflow_print_server:v7_for_solaris
advisories (6)
Vendor and ecosystem advisories describing this.
- SSA-806742SSA-806742: Multiple Vulnerabilities in SCALANCE XCM-/XRM-300 before V2.42024-02-13csaf · siemens_psirtDE
SCALANCE XCM-/XRM-300 before V2.4 is affected by multiple vulnerabilities. Siemens has released an update for SCALANCE X-300 and recommends to update to the latest version.
- WID-SEC-W-2023-1378Red Hat OpenShift Container Platform: Mehrere Schwachstellen ermöglichen Umgehen von SicherheitsvorkehrungenDeutsch2023-06-06csaf · cert_bundDE
Ein entfernter, anonymer Angreifer kann mehrere Schwachstellen in der Red Hat OpenShift Container Platform ausnutzen, um Sicherheitsvorkehrungen zu umgehen.
- WID-SEC-W-2023-2031Xerox FreeFlow Print Server: Mehrere SchwachstellenDeutsch2023-08-09csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Xerox FreeFlow Print Server ausnutzen, um die Vertraulichkeit, Verfügbarkeit und Integrität des Systems zu gefährden.
- ICSA-24-046-11Siemens SCALANCE XCM-/XRM-3002024-02-13icsa · cisa_csaf_otUS
SCALANCE XCM-/XRM-300 before V2.4 is affected by multiple vulnerabilities. Siemens has released an update for SCALANCE X-300 and recommends to update to the latest version.
- BIT-golang-2023-24538Backticks not treated as string delimiters in html/template2024-03-06vendor · osvUS
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.
- GO-2023-1703Backticks not treated as string delimiters in html/template2023-04-05vendor · osvUS
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.
also known as (7)
Other names and identifiers for this entity.
- CNNVD-202304-358cnnvd
- EUVD-2023-28554enisa_euvd
- BDU:2024-01979fstec_bdu
- GLSA-202311-09fstec_bdu
- GHSA-v4m2-x4rp-hv22enisa_euvd
- BIT-golang-2023-24538osv
- GO-2023-1703osv
sources
Which sources assert this record, and when.
references (34)
External citations — patches, advisories, analysis.
- https://access.redhat.com/security/cve/cve-2023-24538cnnvd
- https://cxsecurity.com/cveshow/CVE-2023-24538/cnnvd
- https://go.dev/cl/482079cnnvd
- https://go.dev/issue/59234cnnvd
- https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8cnnvd
- https://pkg.go.dev/vuln/GO-2023-1703cnnvd
- https://www.auscert.org.au/bulletins/ESB-2023.2037cnnvd
- https://www.auscert.org.au/bulletins/ESB-2023.2526cnnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan