CVE-2021-34558: Input Validation
A flaw was found in golang. A 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 TLSRSA cipher suites (that is, TLS 1.0–1.2 cipher suites without ECDHE), as well as TLS 1.3-only clients, are unaffected.
Other sources
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 TLSRSA cipher suites (that is, TLS 1.0–1.2 cipher suites without ECDHE), as well as TLS 1.3-only clients, are unaffected.
References: https://golang.org/doc/devel/release https://github.com/golang/go/issues/47145 https://github.com/golang/go/issues/47144
— Red Hat
Golang Go is vulnerable to a denial of service, caused by the failure to properly assert that the type of public key in an X.509 certificate matches the expected type in the crypto/tls package. By persuading a victim to connect to a specially-crafted TLS server, a remote attacker could exploit this vulnerability to cause a TLS client to panic.
— IBM
The crypto/tls package of Go through 1.16.5 does not properly assert that the type of public key in an X.509 certificate matches the expected type when doing a RSA based key exchange, allowing a malicious TLS server to cause a TLS client to panic.
Affected Software
Remediation
Patch Available
Patch Available
Information
Event History
Parent advisories
This vulnerability appears in the following advisories.
- RHSA-2021:3556
- RHSA-2021:3555
- RHEA-2021:3941
- RHSA-2021:3015
- RHSA-2021:3076
- RHSA-2021:4226
- RHSA-2022:7954
- RHSA-2021:3361
- RHSA-2022:0577
- RHSA-2021:3009
- RHBA-2021:2979
- RHSA-2021:2984
- RHSA-2021:3248
- RHSA-2021:2983
- RHSA-2021:3820
- RHSA-2021:3759
- RHSA-2022:1372
- RHSA-2021:5085
- RHSA-2021:5086
- RHSA-2021:4725
- RHSA-2022:0260
- RHSA-2022:0988
- RHSA-2022:0237
- RHSA-2022:0998
- RHSA-2021:3146
- RHSA-2021:4722
- RHSA-2022:1329
- RHSA-2021:3733
- RHSA-2022:0947
- RHSA-2021:4104
- RHSA-2022:0191
- RHEA-2021:3287
- RHSA-2021:4582
- IBM-6550866
Frequently Asked Questions
What is the vulnerability ID of this flaw?
The vulnerability ID of this flaw is CVE-2021-34558.
What is the severity of CVE-2021-34558?
The severity of CVE-2021-34558 is medium with a CVSS score of 6.5.
Which software is affected by CVE-2021-34558?
The affected software includes openshift-serverless-clients, go-toolset, grafana, podman, ignition, atomic-openshift-service-idler, cri-o, openshift, openshift-clients, redhat-release-coreos, containernetworking-plugins, cri-tools, golang-github-prometheus-promu, butane, mcg, etcd, golang-github-vbatts-tar-split, kubevirt, rosa, Golang Go, Fedoraproject Fedora, Netapp Cloud Insights Telegraf, Netapp Storagegrid, Netapp Trident, and Oracle TimesTen In-Memory Database.
How can an attacker trigger a panic in the affected software?
An attacker can trigger a panic in the affected software by being in a privileged network position without access to the server certificate's private key.
How can I mitigate the vulnerability?
To mitigate the vulnerability, you should update the affected software to the recommended version provided by the software vendor.