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') •
CVE-2023-24534 – Excessive memory allocation in net/http and net/textproto
https://notcve.org/view.php?id=CVE-2023-24534
HTTP and MIME header parsing can allocate large amounts of memory, even when parsing small inputs, potentially leading to a denial of service. Certain unusual patterns of input data can cause the common function used to parse HTTP and MIME headers to allocate substantially more memory than required to hold the parsed headers. An attacker can exploit this behavior to cause an HTTP server to allocate large amounts of memory from a small request, potentially leading to memory exhaustion and a denial of service. With fix, header parsing now correctly allocates only the memory required to hold parsed headers. A flaw was found in Golang Go, where it is vulnerable to a denial of service caused by memory exhaustion in the common function in HTTP and MIME header parsing. • https://go.dev/cl/481994 https://go.dev/issue/58975 https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 https://pkg.go.dev/vuln/GO-2023-1704 https://security.gentoo.org/glsa/202311-09 https://security.netapp.com/advisory/ntap-20230526-0007 https://access.redhat.com/security/cve/CVE-2023-24534 https://bugzilla.redhat.com/show_bug.cgi?id=2184483 • CWE-400: Uncontrolled Resource Consumption •
CVE-2023-24536 – Excessive resource consumption in net/http, net/textproto and mime/multipart
https://notcve.org/view.php?id=CVE-2023-24536
Multipart form parsing can consume large amounts of CPU and memory when processing form inputs containing very large numbers of parts. This stems from several causes: 1. mime/multipart.Reader.ReadForm limits the total memory a parsed multipart form can consume. ReadForm can undercount the amount of memory consumed, leading it to accept larger inputs than intended. 2. Limiting total memory does not account for increased pressure on the garbage collector from large numbers of small allocations in forms with many parts. 3. ReadForm can allocate a large number of short-lived buffers, further increasing pressure on the garbage collector. • https://go.dev/cl/482075 https://go.dev/cl/482076 https://go.dev/cl/482077 https://go.dev/issue/59153 https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8 https://pkg.go.dev/vuln/GO-2023-1705 https://security.gentoo.org/glsa/202311-09 https://security.netapp.com/advisory/ntap-20230526-0007 https://access.redhat.com/security/cve/CVE-2023-24536 https://bugzilla.redhat.com/show_bug.cgi?id=2184482 • CWE-400: Uncontrolled Resource Consumption CWE-770: Allocation of Resources Without Limits or Throttling •