blob: 42a54f183cc8c0fbbe11dd33efa2ffed22bcde62 [file]
{
"schema_version": "1.3.1",
"id": "GO-2025-4007",
"modified": "0001-01-01T00:00:00Z",
"published": "0001-01-01T00:00:00Z",
"aliases": [
"CVE-2025-58187",
"CVE-2025-58187"
],
"summary": "Quadratic complexity when checking name constraints in crypto/x509",
"details": "Due to the design of the name constraint checking algorithm, the processing time of some inputs scale non-linearly with respect to the size of the certificate.\n\nThis affects programs which validate arbitrary certificate chains.",
"affected": [
{
"package": {
"name": "stdlib",
"ecosystem": "Go"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.24.9"
},
{
"introduced": "1.25.0"
},
{
"fixed": "1.25.3"
}
]
}
],
"ecosystem_specific": {
"imports": [
{
"path": "crypto/x509",
"symbols": [
"CertPool.AppendCertsFromPEM",
"Certificate.CheckCRLSignature",
"Certificate.CheckSignature",
"Certificate.CheckSignatureFrom",
"Certificate.CreateCRL",
"Certificate.Verify",
"CertificateRequest.CheckSignature",
"CreateCertificate",
"CreateCertificateRequest",
"CreateRevocationList",
"DecryptPEMBlock",
"EncryptPEMBlock",
"MarshalECPrivateKey",
"MarshalPKCS1PrivateKey",
"MarshalPKCS1PublicKey",
"MarshalPKCS8PrivateKey",
"MarshalPKIXPublicKey",
"ParseCRL",
"ParseCertificate",
"ParseCertificateRequest",
"ParseCertificates",
"ParseDERCRL",
"ParseECPrivateKey",
"ParsePKCS1PrivateKey",
"ParsePKCS1PublicKey",
"ParsePKCS8PrivateKey",
"ParsePKIXPublicKey",
"ParseRevocationList",
"RevocationList.CheckSignatureFrom",
"SetFallbackRoots",
"SystemCertPool",
"domainToReverseLabels",
"parseSANExtension"
]
}
]
}
}
],
"references": [
{
"type": "REPORT",
"url": "https://go.dev/issue/75681"
},
{
"type": "FIX",
"url": "https://go.dev/cl/709854"
},
{
"type": "WEB",
"url": "https://groups.google.com/g/golang-announce/c/4Emdl2iQ_bI"
}
],
"credits": [
{
"name": "Jakub Ciolek"
}
],
"database_specific": {
"url": "https://pkg.go.dev/vuln/GO-2025-4007",
"review_status": "REVIEWED"
}
}