Executive brief
A performance issue in the Go programming language's standard security library can be exploited to cause a denial of service. When the library validates a digital certificate chain that contains a very large number of policy mappings, it becomes extremely slow, potentially freezing the application. This affects services that verify identity certificates, such as secure web servers or private corporate networks, allowing an attacker to disrupt operations by providing a specially crafted certificate.
Technical details
A vulnerability in the crypto/x509 package of the Go standard library allows for a denial of service (DoS) via resource exhaustion. The root cause is quadratic complexity in the policiesValid function when validating certificate chains that contain a large number of policy mappings, specifically when policy mapping has already been inhibited (InhibitPolicyMapping=0). In this state, the verifier repeatedly rescans the policy graph for every entry in the PolicyMappings extension. An attacker can provide a crafted certificate chain that, while otherwise valid and rooted in a trusted pool, triggers pathologically slow verification times. The issue is fixed in Go versions 1.25.9 and 1.26.2.
Affected products
- Google Go standard library (crypto/x509) < 1.25.9, >= 1.26.0 < 1.26.2
Timeline
- 2026-03-22: other: Vulnerability reported to Go security team
- 2026-04-07: advisory: Initial advisory published by Go Project
- 2026-04-08: disclosed: CVE-2026-32281 published