Resource exhaustion in Golang Go
CVE-2023-29409
Extremely large RSA keys in certificate chains can cause a client/server to expend significant CPU time verifying signatures. With fix, the size of RSA keys transmitted during handshakes is restricted to <= 8192 bits. Based on a survey of publicly trusted RSA keys, there are currently only three certificates in circulation with keys larger than this, and all three appear to be test certificates that are not actively deployed. It is possible there are larger keys in use in private PKIs, but we target the web PKI, so causing breakage here in the interests of increasing the default safety of users of crypto/tls seems reasonable.
Vulnerability class: DoS (Denial of Service)
EPSS: 0.013 (68.1th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 5.3 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L.
Affected products
- Golang Go — versions 1.21.0
- Go Standard Library Crypto/tls — versions 0, 1.20.0-0, 1.21.0-0
Weakness classification (CWE)
Public proof-of-concept exploits
References
- security@golang.org (Patch, Issue Tracking, Vendor Advisory)
- security@golang.org (Patch)
- security@golang.org (Mailing List, Vendor Advisory)
- security@golang.org (Patch, Vendor Advisory)
- security@golang.org
- security@golang.org
Frequently asked questions
- What is CVE-2023-29409?
- CVE-2023-29409 is a medium-severity vulnerability in Golang Go, classified under Uncontrolled Resource Consumption. CVSS score: 5.3/10. Published 2023-08-02.
- How severe is CVE-2023-29409?
- Medium severity. CVSS v3 base score is 5.3 out of 10.
- Is CVE-2023-29409 known to be exploited?
- 5 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.