Skip to main content

Improper Certificate Validation

CVE-2023-28321

Severity High
Score 7.5/10

Summary

An improper certificate validation vulnerability exists in curl versions 7.12.0 through 8.0.1 in the way it supports matching wildcard patterns when listed as "Subject Alternative Name" in TLS server certificates. curl can be built to use its own name-matching function for TLS rather than one provided by a TLS library. This private wildcard matching function would match IDN (International Domain Name) hosts incorrectly and could as a result accept patterns that otherwise should mismatch. IDN hostnames are converted to puny code before being used for certificate checks. Puny coded names always start with `xn--` and should not be allowed to pattern match, but the wildcard checks in curl could still check for `x*`, which would match even though the IDN name most likely contained nothing even resembling an `x`.

  • LOW
  • NETWORK
  • HIGH
  • UNCHANGED
  • NONE
  • NONE
  • NONE
  • NONE

CWE-295 - Improper Certificate Validation

The authenticity component of a web system stems from the ability to validate “Digital certificates”, which (i) establish trust between two or more entities sharing data over a network; (ii) ensure data at rest and transit is secure from unauthorized access; and (iii) check the identity of the actors that interact with the system. An application with absent or ineffective certificate validation mechanisms allows malicious users, impersonating trusted hosts, to manipulate the communication path between the client and the host, resulting in unauthorized access to data and to the application’s internal environment, and potentially enabling man-in-the-middle attacks.

Advisory Timeline

  • Published