// For flags

CVE-2024-24783

Verify panics on certificates with an unknown public key algorithm in crypto/x509

Severity Score

5.9
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track
*SSVC
Descriptions

Verifying a certificate chain which contains a certificate with an unknown public key algorithm will cause Certificate.Verify to panic. This affects all crypto/tls clients, and servers that set Config.ClientAuth to VerifyClientCertIfGiven or RequireAndVerifyClientCert. The default behavior is for TLS servers to not verify client certificates.

La verificación de una cadena de certificados que contiene un certificado con un algoritmo de clave pública desconocido provocará que Certificate.Verify entre en pánico. Esto afecta a todos los clientes cripto/tls y a los servidores que configuran Config.ClientAuth en VerifyClientCertIfGiven o RequireAndVerifyClientCert. El comportamiento predeterminado es que los servidores TLS no verifiquen los certificados de los clientes.

A flaw was found in Go's crypto/x509 standard library package. Verifying a certificate chain that contains a certificate with an unknown public key algorithm will cause a Certificate.Verify to panic. This issue affects all crypto/tls clients and servers that set Config.ClientAuth to VerifyClientCertIfGiven or RequireAndVerifyClientCert.

*Credits: John Howard (Google)
CVSS Scores
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:Track
Exploitation
None
Automatable
No
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-01-30 CVE Reserved
  • 2024-03-05 CVE Published
  • 2024-05-02 EPSS Updated
  • 2024-11-05 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-400: Uncontrolled Resource Consumption
  • CWE-476: NULL Pointer Dereference
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Go Standard Library
Search vendor "Go Standard Library"
Crypto/x509
Search vendor "Go Standard Library" for product "Crypto/x509"
< 1.21.8
Search vendor "Go Standard Library" for product "Crypto/x509" and version " < 1.21.8"
en
Affected
Go Standard Library
Search vendor "Go Standard Library"
Crypto/x509
Search vendor "Go Standard Library" for product "Crypto/x509"
>= 1.22.0-0 < 1.22.1
Search vendor "Go Standard Library" for product "Crypto/x509" and version " >= 1.22.0-0 < 1.22.1"
en
Affected