Описание
Security update for go1.21-openssl
This update for go1.21-openssl fixes the following issues:
Update to version 1.21.4.1 cut from the go1.21-openssl-fips branch at the revision tagged go1.21.4-1-openssl-fips.
- Update to go1.21.4
go1.21.4 (released 2023-11-07) includes security fixes to the path/filepath package, as well as bug fixes to the linker, the runtime, the compiler, and the go/types, net/http, and runtime/cgo packages.
- security: fix CVE-2023-45283 CVE-2023-45284 path/filepath: insecure parsing of Windows paths (bsc#1216943, bsc#1216944)
- spec: update unification rules
- cmd/compile: internal compiler error: expected struct value to have type struct
- cmd/link: split text sections for arm 32-bit
- runtime: MADV_COLLAPSE causes production performance issues on Linux
- go/types, x/tools/go/ssa: panic: type param without replacement encountered
- cmd/compile: -buildmode=c-archive produces code not suitable for use in a shared object on arm64
- net/http: http2 page fails on firefox/safari if pushing resources
Initial package go1.21-openssl version 1.21.3.1 cut from the go1.21-openssl-fips branch at the revision tagged go1.21.3-1-openssl-fips. (jsc#SLE-18320)
- Go upstream merged branch dev.boringcrypto in go1.19+.
- In go1.x enable BoringCrypto via GOEXPERIMENT=boringcrypto.
- In go1.x-openssl enable FIPS mode (or boring mode as the package is named) either via an environment variable GOLANG_FIPS=1 or by virtue of booting the host in FIPS mode.
- When the operating system is operating in FIPS mode, Go applications which import crypto/tls/fipsonly limit operations to the FIPS ciphersuite.
- go1.x-openssl is delivered as two large patches to go1.x applying necessary modifications from the golang-fips/go GitHub project for the Go crypto library to use OpenSSL as the external cryptographic library in a FIPS compliant way.
- go1.x-openssl modifies the crypto/* packages to use OpenSSL for cryptographic operations.
- go1.x-openssl uses dlopen() to call into OpenSSL.
- SUSE RPM packaging introduces a fourth version digit go1.x.y.z corresponding to the golang-fips/go patchset tagged revision.
- Patchset improvements can be updated independently of upstream Go maintenance releases.
Список пакетов
Container bci/golang:latest
SUSE Linux Enterprise Module for Development Tools 15 SP4
SUSE Linux Enterprise Module for Development Tools 15 SP5
openSUSE Leap 15.4
openSUSE Leap 15.5
Ссылки
- Link for SUSE-SU-2023:4469-1
- E-Mail link for SUSE-SU-2023:4469-1
- SUSE Security Ratings
- SUSE Bug 1212475
- SUSE Bug 1212667
- SUSE Bug 1212669
- SUSE Bug 1215084
- SUSE Bug 1215085
- SUSE Bug 1215086
- SUSE Bug 1215087
- SUSE Bug 1215090
- SUSE Bug 1215985
- SUSE Bug 1216109
- SUSE Bug 1216943
- SUSE Bug 1216944
- SUSE CVE CVE-2023-39318 page
- SUSE CVE CVE-2023-39319 page
- SUSE CVE CVE-2023-39320 page
- SUSE CVE CVE-2023-39321 page
- SUSE CVE CVE-2023-39322 page
Описание
The html/template package does not properly handle HTML-like "" comment tokens, nor hashbang "#!" comment tokens, in <script> contexts. This may cause the template parser to improperly interpret the contents of <script> contexts, causing actions to be improperly escaped. This may be leveraged to perform an XSS attack.
Затронутые продукты
Ссылки
- CVE-2023-39318
- SUSE Bug 1215084
Описание
The html/template package does not apply the proper rules for handling occurrences of "<script", "<!--", and "</script" within JS literals in <script> contexts. This may cause the template parser to improperly consider script contexts to be terminated early, causing actions to be improperly escaped. This could be leveraged to perform an XSS attack.
Затронутые продукты
Ссылки
- CVE-2023-39319
- SUSE Bug 1215085
Описание
The go.mod toolchain directive, introduced in Go 1.21, can be leveraged to execute scripts and binaries relative to the root of the module when the "go" command was executed within the module. This applies to modules downloaded using the "go" command from the module proxy, as well as modules downloaded directly using VCS software.
Затронутые продукты
Ссылки
- CVE-2023-39320
- SUSE Bug 1215086
Описание
Processing an incomplete post-handshake message for a QUIC connection can cause a panic.
Затронутые продукты
Ссылки
- CVE-2023-39321
- SUSE Bug 1215087
Описание
QUIC connections do not set an upper bound on the amount of data buffered when reading post-handshake messages, allowing a malicious QUIC connection to cause unbounded memory growth. With fix, connections now consistently reject messages larger than 65KiB in size.
Затронутые продукты
Ссылки
- CVE-2023-39322
- SUSE Bug 1215087
Описание
Line directives ("//line") can be used to bypass the restrictions on "//go:cgo_" directives, allowing blocked linker and compiler flags to be passed during compilation. This can result in unexpected execution of arbitrary code when running "go build". The line directive requires the absolute path of the file in which the directive lives, which makes exploiting this issue significantly more complex.
Затронутые продукты
Ссылки
- CVE-2023-39323
- SUSE Bug 1215985
Описание
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function.
Затронутые продукты
Ссылки
- CVE-2023-39325
- SUSE Bug 1216109
- SUSE Bug 1230323
Описание
The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can reset many streams quickly, as exploited in the wild in August through October 2023.
Затронутые продукты
Ссылки
- CVE-2023-44487
- SUSE Bug 1216109
- SUSE Bug 1216123
- SUSE Bug 1216169
- SUSE Bug 1216171
- SUSE Bug 1216174
- SUSE Bug 1216176
- SUSE Bug 1216181
- SUSE Bug 1216182
- SUSE Bug 1216190
Описание
The filepath package does not recognize paths with a \??\ prefix as special. On Windows, a path beginning with \??\ is a Root Local Device path equivalent to a path beginning with \\?\. Paths with a \??\ prefix may be used to access arbitrary locations on the system. For example, the path \??\c:\x is equivalent to the more common path c:\x. Before fix, Clean could convert a rooted path such as \a\..\??\b into the root local device path \??\b. Clean will now convert this to .\??\b. Similarly, Join(\, ??, b) could convert a seemingly innocent sequence of path elements into the root local device path \??\b. Join will now convert this to \.\??\b. In addition, with fix, IsAbs now correctly reports paths beginning with \??\ as absolute, and VolumeName correctly reports the \??\ prefix as a volume name. UPDATE: Go 1.20.11 and Go 1.21.4 inadvertently changed the definition of the volume name in Windows paths starting with \?, resulting in filepath.Clean(\?\c:) returning \?\c: rather than \?\c:\ (among other effects). The previous behavior has been restored.
Затронутые продукты
Ссылки
- CVE-2023-45283
- SUSE Bug 1216943
Описание
On Windows, The IsLocal function does not correctly detect reserved device names in some cases. Reserved names followed by spaces, such as "COM1 ", and reserved names "COM" and "LPT" followed by superscript 1, 2, or 3, are incorrectly reported as local. With fix, IsLocal now correctly reports these names as non-local.
Затронутые продукты
Ссылки
- CVE-2023-45284
- SUSE Bug 1216944