Sun Oct 15 09:26:35 2023 UTC ()
go121: update to 1.21.3 (security)

1.21.3

net/http: rapid stream resets can cause excessive work

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 to 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.

HTTP/2 servers now bound the number of simultaneously executing
handler goroutines to the stream concurrency limit. 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 v0.17.0,
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.

This is CVE-2023-39325 and Go issue https://go.dev/issue/63417.
This is also tracked by CVE-2023-44487.

1.21.2

cmd/go: line directives allows arbitrary execution during build

"//line" directives can be used to bypass the restrictions on "//go:cgo_"
directives, allowing blocked linker and compiler flags to be passed during
compliation. 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 exploting this issue significantly more
complex.

This is CVE-2023-39323 and Go issue https://go.dev/issue/63211.


(bsiegert)
diff -r1.190 -r1.191 pkgsrc/lang/go/version.mk
diff -r1.2 -r1.3 pkgsrc/lang/go121/PLIST
diff -r1.2 -r1.3 pkgsrc/lang/go121/distinfo

cvs diff -r1.190 -r1.191 pkgsrc/lang/go/version.mk (expand / switch to context diff)
--- pkgsrc/lang/go/version.mk 2023/10/07 18:09:35 1.190
+++ pkgsrc/lang/go/version.mk 2023/10/15 09:26:34 1.191
@@ -1,4 +1,4 @@
-# $NetBSD: version.mk,v 1.190 2023/10/07 18:09:35 bsiegert Exp $
+# $NetBSD: version.mk,v 1.191 2023/10/15 09:26:34 bsiegert Exp $
 
 #
 # If bsd.prefs.mk is included before go-package.mk in a package, then this
@@ -6,7 +6,7 @@
 #
 .include "go-vars.mk"
 
-GO121_VERSION=	1.21.1
+GO121_VERSION=	1.21.3
 GO120_VERSION=	1.20.9
 GO119_VERSION=	1.19.13
 GO118_VERSION=	1.18.10

cvs diff -r1.2 -r1.3 pkgsrc/lang/go121/PLIST (expand / switch to context diff)
--- pkgsrc/lang/go121/PLIST 2023/09/08 13:06:29 1.2
+++ pkgsrc/lang/go121/PLIST 2023/10/15 09:26:35 1.3
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2023/09/08 13:06:29 bsiegert Exp $
+@comment $NetBSD: PLIST,v 1.3 2023/10/15 09:26:35 bsiegert Exp $
 bin/go${GOVERSSUFFIX}
 bin/gofmt${GOVERSSUFFIX}
 go121/CONTRIBUTING.md
@@ -497,6 +497,7 @@
 go121/src/cmd/cgo/internal/testerrors/testdata/err1.go
 go121/src/cmd/cgo/internal/testerrors/testdata/err2.go
 go121/src/cmd/cgo/internal/testerrors/testdata/err4.go
+go121/src/cmd/cgo/internal/testerrors/testdata/err5.go
 go121/src/cmd/cgo/internal/testerrors/testdata/issue11097a.go
 go121/src/cmd/cgo/internal/testerrors/testdata/issue11097b.go
 go121/src/cmd/cgo/internal/testerrors/testdata/issue14669.go
@@ -572,6 +573,8 @@
 go121/src/cmd/cgo/internal/testplugin/testdata/issue53989/main.go
 go121/src/cmd/cgo/internal/testplugin/testdata/issue53989/p/p.go
 go121/src/cmd/cgo/internal/testplugin/testdata/issue53989/plugin.go
+go121/src/cmd/cgo/internal/testplugin/testdata/issue62430/main.go
+go121/src/cmd/cgo/internal/testplugin/testdata/issue62430/plugin.go
 go121/src/cmd/cgo/internal/testplugin/testdata/mangle/plugin.go
 go121/src/cmd/cgo/internal/testplugin/testdata/method/main.go
 go121/src/cmd/cgo/internal/testplugin/testdata/method/plugin.go
@@ -8385,6 +8388,9 @@
 go121/src/runtime/tagptr.go
 go121/src/runtime/tagptr_32bit.go
 go121/src/runtime/tagptr_64bit.go
+go121/src/runtime/test_amd64.go
+go121/src/runtime/test_amd64.s
+go121/src/runtime/test_stubs.go
 go121/src/runtime/testdata/testexithooks/testexithooks.go
 go121/src/runtime/testdata/testfaketime/faketime.go
 go121/src/runtime/testdata/testprog/abort.go
@@ -8521,6 +8527,7 @@
 go121/src/runtime/trace_cgo_test.go
 go121/src/runtime/traceback.go
 go121/src/runtime/traceback_test.go
+go121/src/runtime/tracebackx_test.go
 go121/src/runtime/type.go
 go121/src/runtime/typekind.go
 go121/src/runtime/unsafe.go
@@ -11570,6 +11577,7 @@
 go121/test/fixedbugs/issue61908.go
 go121/test/fixedbugs/issue61992.go
 go121/test/fixedbugs/issue62203.go
+go121/test/fixedbugs/issue62469.go
 go121/test/fixedbugs/issue6247.go
 go121/test/fixedbugs/issue6269.go
 go121/test/fixedbugs/issue6295.dir/p0.go

cvs diff -r1.2 -r1.3 pkgsrc/lang/go121/distinfo (expand / switch to context diff)
--- pkgsrc/lang/go121/distinfo 2023/09/08 13:06:29 1.2
+++ pkgsrc/lang/go121/distinfo 2023/10/15 09:26:35 1.3
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.2 2023/09/08 13:06:29 bsiegert Exp $
+$NetBSD: distinfo,v 1.3 2023/10/15 09:26:35 bsiegert Exp $
 
-BLAKE2s (go1.21.1.src.tar.gz) = 4a3535786ee2e358e79a6e51710c47aee15067571852ef350488a299b029bbc2
-SHA512 (go1.21.1.src.tar.gz) = b6bee4a461ed91958c334b2f8b78e8f0c45f07409ba6968ae393b34d9cd21a9b1a29df357d191144e99f8ea73f491926ea0027ecbcfcaa198349e67fa33e0e3c
-Size (go1.21.1.src.tar.gz) = 26974429 bytes
+BLAKE2s (go1.21.3.src.tar.gz) = ac5137ef1bfd608d983c67a1e2969c3ee49171b7430193d4bbf5b4dfdd3ef1bf
+SHA512 (go1.21.3.src.tar.gz) = c98d31b9c477c0ac4b6f6933adefb40fdce5cdbb171e5236e3b694fec9e5b04695487af734259eab304dd42e86341240621a781f54b60c719627fd7b5efe4742
+Size (go1.21.3.src.tar.gz) = 26976568 bytes
 SHA1 (patch-misc_ios_clangwrap.sh) = 0a06403609cb7bce2e6f65444fd322f486761afe
 SHA1 (patch-src_crypto_x509_root__bsd.go) = 0b5dead901450967109303f873a2696c65ccac35
 SHA1 (patch-src_crypto_x509_root__solaris.go) = d636a1599ede225ac339388fba2b6e253112d461