CVE-2023-29409: Vulnerability in golang package - Large RSA Keys in Certificate Chains

golang Updated 02 Oct 2025

Summary

06/03/2024
Yes i
Medium
Not published

CVE-2023-29409: Large RSA keys can cause high CPU usage in crypto/tls. Affects golang across 2 version ranges.

< 1.19.12 >= 1.20.0, < 1.20.7

Fixed in 1.19.12 or 1.20.7, depending on the release line you run. How to fix ↓

Also tracked for

The same CVE-2023-29409 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

Background

The golang package is a popular open-source programming language that is widely used for building efficient and reliable software applications. It provides a rich set of libraries and tools for various purposes, including cryptography and secure communication. However, a vulnerability has been identified in the package related to the handling of extremely large RSA keys in certificate chains.

Vulnerability Detail

The vulnerability arises when a client/server encounters certificate chains with RSA keys larger than 8192 bits. This can lead to significant CPU usage during signature verification, potentially causing performance degradation and denial of service. While there are currently only three known certificates with larger keys, which are likely test certificates, it is possible that larger keys exist in private PKIs. To enhance the default safety of users, the golang package now restricts the size of RSA keys transmitted during handshakes to <= 8192 bits.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • < 1.19.12 1.19.12
  • >= 1.20.0, < 1.20.7 1.20.7

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

There is no specific workaround mentioned for this vulnerability. However, users can mitigate the risk by ensuring they are using the latest version of the golang package, which includes the fix for the restricted size of RSA keys.

Conclusion

In conclusion, the golang package is vulnerable to a potential performance degradation and denial of service issue caused by the handling of extremely large RSA keys in certificate chains. Users are advised to update to the latest version of the package to mitigate this vulnerability. For further support on vulnerability remediation, you can reach out to DevNack.com.

See every vulnerability recorded for golang →

Share this vulnerability

FAQ

The vulnerability can cause significant CPU usage during signature verification, potentially leading to performance degradation and denial of service.

There are currently only three known certificates with larger keys, but they are likely test certificates and not actively deployed.

It is possible that larger keys exist in private PKIs, but the focus of this vulnerability is on the web PKI.

The severity of this vulnerability is classified as Medium.

For more information, you can refer to the source link provided in the vulnerability details.

Related vulnerabilities

Recent vulnerabilities recorded for golang.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • < 1.19.12 1.19.12
  • >= 1.20.0, < 1.20.7 1.20.7

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback