Vulnerability in Golang Go
CVE-2023-45287
Before Go 1.20, the RSA based TLS key exchanges used the math/big library, which is not constant time. RSA blinding was applied to prevent timing attacks, but analysis shows this may not have been fully effective. In particular it appears as if the removal of PKCS#1 padding may leak timing information, which in turn could be used to recover session key bits. In Go 1.20, the crypto/tls library switched to a fully constant time RSA implementation, which we do not believe exhibits any timing side channels.
EPSS: 0.013 (66.3th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.
Affected products
- Golang Go
- Go Standard Library Crypto/tls — versions 0
Weakness classification (CWE)
Public proof-of-concept exploits
References
- security@golang.org (Issue Tracking)
- security@golang.org (Issue Tracking)
- security@golang.org (Mailing List, Release Notes)
- security@golang.org (Third Party Advisory)
- security@golang.org (Vendor Advisory)
- security@golang.org
Frequently asked questions
- What is CVE-2023-45287?
- CVE-2023-45287 is a high-severity vulnerability in Golang Go, classified under Observable Discrepancy. CVSS score: 7.5/10. Published 2023-12-05.
- How severe is CVE-2023-45287?
- High severity. CVSS v3 base score is 7.5 out of 10.
- Is CVE-2023-45287 known to be exploited?
- 6 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.