CVE-2023-24539 – Improper sanitization of CSS values in html/template
https://notcve.org/view.php?id=CVE-2023-24539
Angle brackets (<>) are not considered dangerous characters when inserted into CSS contexts. Templates containing multiple actions separated by a '/' character can result in unexpectedly closing the CSS context and allowing for injection of unexpected HTML, if executed with untrusted input. A flaw was found in golang where angle brackets (<>) were not considered dangerous characters when inserted into CSS contexts. Templates containing multiple actions separated by a '/' character could result in the CSS context unexpectedly closing, allowing for the injection of unexpected HMTL if executed with untrusted input. • https://go.dev/cl/491615 https://go.dev/issue/59720 https://groups.google.com/g/golang-announce/c/MEb0UyuSMsU https://pkg.go.dev/vuln/GO-2023-1751 https://access.redhat.com/security/cve/CVE-2023-24539 https://bugzilla.redhat.com/show_bug.cgi?id=2196026 • CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') CWE-176: Improper Handling of Unicode Encoding •
CVE-2023-24540 – Improper handling of JavaScript whitespace in html/template
https://notcve.org/view.php?id=CVE-2023-24540
Not all valid JavaScript whitespace characters are considered to be whitespace. Templates containing whitespace characters outside of the character set "\t\n\f\r\u0020\u2028\u2029" in JavaScript contexts that also contain actions may not be properly sanitized during execution. A flaw was found in golang, where not all valid JavaScript white-space characters were considered white space. Due to this issue, templates containing white-space characters outside of the character set "\t\n\f\r\u0020\u2028\u2029" in JavaScript contexts that also contain actions may not be properly sanitized during execution. • https://go.dev/cl/491616 https://go.dev/issue/59721 https://groups.google.com/g/golang-announce/c/MEb0UyuSMsU https://pkg.go.dev/vuln/GO-2023-1752 https://access.redhat.com/security/cve/CVE-2023-24540 https://bugzilla.redhat.com/show_bug.cgi?id=2196027 • CWE-176: Improper Handling of Unicode Encoding •
CVE-2023-29400 – Improper handling of empty HTML attributes in html/template
https://notcve.org/view.php?id=CVE-2023-29400
Templates containing actions in unquoted HTML attributes (e.g. "attr={{.}}") executed with empty input can result in output with unexpected results when parsed due to HTML normalization rules. This may allow injection of arbitrary attributes into tags. A flaw was found in golang. Templates containing actions in unquoted HTML attributes, for example, "attr={{.}}") executed with empty input, could result in output that has unexpected results when parsed due to HTML normalization rules. • https://go.dev/cl/491617 https://go.dev/issue/59722 https://groups.google.com/g/golang-announce/c/MEb0UyuSMsU https://pkg.go.dev/vuln/GO-2023-1753 https://access.redhat.com/security/cve/CVE-2023-29400 https://bugzilla.redhat.com/show_bug.cgi?id=2196029 • CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') CWE-176: Improper Handling of Unicode Encoding •
CVE-2023-24537 – Infinite loop in parsing in go/scanner
https://notcve.org/view.php?id=CVE-2023-24537
Calling any of the Parse functions on Go source code which contains //line directives with very large line numbers can cause an infinite loop due to integer overflow. A flaw was found in Golang Go, where it is vulnerable to a denial of service caused by an infinite loop due to integer overflow when calling any of the Parse functions. By sending a specially crafted input, a remote attacker can cause a denial of service. • https://go.dev/cl/482078 https://go.dev/issue/59180 https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 https://pkg.go.dev/vuln/GO-2023-1702 https://security.gentoo.org/glsa/202311-09 https://access.redhat.com/security/cve/CVE-2023-24537 https://bugzilla.redhat.com/show_bug.cgi?id=2184484 • CWE-190: Integer Overflow or Wraparound CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') •
CVE-2023-24538 – Backticks not treated as string delimiters in html/template
https://notcve.org/view.php?id=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. • https://go.dev/cl/482079 https://go.dev/issue/59234 https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 https://pkg.go.dev/vuln/GO-2023-1703 https://security.gentoo.org/glsa/202311-09 https://access.redhat.com/security/cve/CVE-2023-24538 https://bugzilla.redhat.com/show_bug.cgi?id=2184481 • CWE-94: Improper Control of Generation of Code ('Code Injection') •