CVE-2023-29406 – Insufficient sanitization of Host header in net/http
https://notcve.org/view.php?id=CVE-2023-29406
The HTTP/1 client does not fully validate the contents of the Host header. A maliciously crafted Host header can inject additional headers or entire requests. With fix, the HTTP/1 client now refuses to send requests containing an invalid Request.Host or Request.URL.Host value. A flaw was found in Golang, where it is vulnerable to HTTP header injection caused by improper content validation of the Host header by the HTTP/1 client. A remote attacker can inject arbitrary HTTP headers by persuading a victim to visit a specially crafted Web page. • https://go.dev/cl/506996 https://go.dev/issue/60374 https://groups.google.com/g/golang-announce/c/2q13H6LEEx0 https://pkg.go.dev/vuln/GO-2023-1878 https://security.gentoo.org/glsa/202311-09 https://security.netapp.com/advisory/ntap-20230814-0002 https://access.redhat.com/security/cve/CVE-2023-29406 https://bugzilla.redhat.com/show_bug.cgi?id=2222167 • CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') CWE-436: Interpretation Conflict •
CVE-2023-29405 – Improper sanitization of LDFLAGS with embedded spaces in go command with cgo in cmd/go
https://notcve.org/view.php?id=CVE-2023-29405
The go command may execute arbitrary code at build time when using cgo. This may occur when running "go get" on a malicious module, or when running any other command which builds untrusted code. This is can by triggered by linker flags, specified via a "#cgo LDFLAGS" directive. Flags containing embedded spaces are mishandled, allowing disallowed flags to be smuggled through the LDFLAGS sanitization by including them in the argument of another flag. This only affects usage of the gccgo compiler. • https://go.dev/cl/501224 https://go.dev/issue/60306 https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NZ2O6YCO2IZMZJELQGZYR2WAUNEDLYV6 https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBS3IIK6ADV24C5ULQU55QLT2UE762ZX https://pkg.go.dev/vuln/GO-2023-1842 https://security.gentoo.org/glsa/202311-09 https://access.redhat.com/security/cve/CVE-2023-2940 • CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') •
CVE-2023-29404 – Improper handling of non-optional LDFLAGS in go command with cgo in cmd/go
https://notcve.org/view.php?id=CVE-2023-29404
The go command may execute arbitrary code at build time when using cgo. This may occur when running "go get" on a malicious module, or when running any other command which builds untrusted code. This is can by triggered by linker flags, specified via a "#cgo LDFLAGS" directive. The arguments for a number of flags which are non-optional are incorrectly considered optional, allowing disallowed flags to be smuggled through the LDFLAGS sanitization. This affects usage of both the gc and gccgo compilers. • https://go.dev/cl/501225 https://go.dev/issue/60305 https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NZ2O6YCO2IZMZJELQGZYR2WAUNEDLYV6 https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBS3IIK6ADV24C5ULQU55QLT2UE762ZX https://pkg.go.dev/vuln/GO-2023-1841 https://security.gentoo.org/glsa/202311-09 https://access.redhat.com/security/cve/CVE-2023-2940 • CWE-94: Improper Control of Generation of Code ('Code Injection') •
CVE-2023-29403 – Unsafe behavior in setuid/setgid binaries in runtime
https://notcve.org/view.php?id=CVE-2023-29403
On Unix platforms, the Go runtime does not behave differently when a binary is run with the setuid/setgid bits. This can be dangerous in certain cases, such as when dumping memory state, or assuming the status of standard i/o file descriptors. If a setuid/setgid binary is executed with standard I/O file descriptors closed, opening any files can result in unexpected content being read or written with elevated privileges. Similarly, if a setuid/setgid program is terminated, either via panic or signal, it may leak the contents of its registers. On Unix platforms, the Go runtime does not behave differently when a binary is run with the setuid/setgid bits. • https://go.dev/cl/501223 https://go.dev/issue/60272 https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NZ2O6YCO2IZMZJELQGZYR2WAUNEDLYV6 https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBS3IIK6ADV24C5ULQU55QLT2UE762ZX https://pkg.go.dev/vuln/GO-2023-1840 https://security.gentoo.org/glsa/202311-09 https://access.redhat.com/security/cve/CVE-2023-2940 • CWE-668: Exposure of Resource to Wrong Sphere •
CVE-2023-29402 – Code injection via go command with cgo in cmd/go
https://notcve.org/view.php?id=CVE-2023-29402
The go command may generate unexpected code at build time when using cgo. This may result in unexpected behavior when running a go program which uses cgo. This may occur when running an untrusted module which contains directories with newline characters in their names. Modules which are retrieved using the go command, i.e. via "go get", are not affected (modules retrieved using GOPATH-mode, i.e. GO111MODULE=off, may be affected). • https://go.dev/cl/501226 https://go.dev/issue/60167 https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NZ2O6YCO2IZMZJELQGZYR2WAUNEDLYV6 https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBS3IIK6ADV24C5ULQU55QLT2UE762ZX https://pkg.go.dev/vuln/GO-2023-1839 https://security.gentoo.org/glsa/202311-09 https://access.redhat.com/security/cve/CVE-2023-2940 • CWE-94: Improper Control of Generation of Code ('Code Injection') •