CVE-2018-16875: Denial of Service in chain verification in crypto/x509
Summary
CVE-2018-16875: Denial of service in chain verification in crypto/x509. Affects stdlib across 2 version ranges.
< 1.10.6
>= 1.11.0-0, < 1.11.3
Fixed in 1.10.6 or 1.11.3, depending on the release line you run. How to fix ↓
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.
No signup required · Results in about 60 seconds
Background
The crypto/x509 package in the Go standard library provides functionality for working with X.509 certificates. It is used by Go TLS servers that accept client certificates and TLS clients that verify certificates. The package allows for chain verification, which ensures that a certificate is valid by verifying its signature against a chain of trusted certificates. However, the package does not limit the amount of work performed for each chain verification, making it susceptible to a CPU denial of service attack.
Vulnerability Detail
The vulnerability in the crypto/x509 package allows attackers to craft pathological inputs that can lead to a CPU denial of service. By exploiting this vulnerability, an attacker can cause excessive CPU usage, potentially rendering the affected system unresponsive. This can have serious consequences for Go TLS servers that accept client certificates and TLS clients that verify certificates.
How To Fix
Latest published version: go1.25.5 as of 22 Oct 2026
go get stdlib@vgo1.25.5
Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.
If you can't move to the latest
The minimum fixed version depends on the release line you run.
-
< 1.10.61.10.6go get stdlib@v1.10.6 -
>= 1.11.0-0, < 1.11.31.11.3go get stdlib@v1.11.3
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 known workaround for this vulnerability. It is recommended to update to the fixed versions of the Go standard library as mentioned in the 'how_to_fix' section.
Conclusion
The vulnerability in the crypto/x509 package can lead to a CPU denial of service attack. It is crucial to update to the fixed versions of the Go standard library to mitigate this risk. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for stdlib →
FAQ
The vulnerability can be exploited to cause a CPU denial of service, potentially rendering the affected system unresponsive.
Go TLS servers that accept client certificates and TLS clients that verify certificates are affected.
Yes, updating to the fixed versions of the Go standard library mitigates the risk of a CPU denial of service.
No, there is no known workaround. Updating to the fixed versions is recommended.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability. Vulert monitors and alerts in real-time for open-source vulnerabilities without requiring access to the code or installation.
References
Related vulnerabilities
Recent vulnerabilities recorded for stdlib.