ArchLinux: 202107-42: go: denial of service
Summary
A security issue has been found in Go before version 1.16.6. crypto/tls clients can panic when provided a certificate of the wrong type for the negotiated parameters. net/http clients performing HTTPS requests are also affected. The panic can be triggered by an attacker in a privileged network position without access to the server certificate's private key, as long as a trusted ECDSA or Ed25519 certificate for the server exists (or can be issued), or the client is configured with Config.InsecureSkipVerify. Clients that disable all TLS_RSA cipher suites (that is, TLS 1.0–1.2 cipher suites without ECDHE), as well as TLS 1.3-only clients, are unaffected.
Resolution
Upgrade to 2:1.16.6-1.
# pacman -Syu "go>=2:1.16.6-1"
The problem has been fixed upstream in version 1.16.6.
References
https://groups.google.com/g/golang-announce/c/n9FxMelZGAQ/m/4ZhvTx0dAQAJ https://github.com/golang/go/issues/47143 https://github.com/golang/go/commit/58bc454a11d4b3dbc03f44dfcabb9068a9c076f4 https://security.archlinux.org/CVE-2021-34558
Workaround
Clients that disable all TLS_RSA cipher suites (that is, TLS 1.0–1.2 cipher suites without ECDHE), as well as TLS 1.3-only clients, are unaffected.