CVE-2024-4603CWE-606

Excessive time spent checking DSA keys and parameters

Medium · published May 16, 2024

CVSS v3.1
5.3
EPSS
1%
Percentile
66.1
In the wild
Unconfirmed
What it is

Issue summary: Checking excessively long DSA keys or parameters may be very

slow.

Impact summary: Applications that use the functions EVP_PKEY_param_check()

or EVP_PKEY_public_check() to check a DSA public key or DSA parameters may

experience long delays. Where the key or parameters that are being checked

have been obtained from an untrusted source this may lead to a Denial of

Service.

The functions EVP_PKEY_param_check() or EVP_PKEY_public_check() perform

various checks on DSA parameters. Some of those computations take a long time

if the modulus (`p` parameter) is too large.

Trying to use a very large modulus is slow and OpenSSL will not allow using

public keys with a modulus which is over 10,000 bits in length for signature

verification. However the key and parameter check functions do not limit

the modulus size when performing the checks.

An application that calls EVP_PKEY_param_check() or EVP_PKEY_public_check()

and supplies a key or parameters obtained from an untrusted source could be

vulnerable to a Denial of Service attack.

These functions are not called by OpenSSL itself on untrusted DSA keys so

only applications that directly call these functions may be vulnerable.

Also vulnerable are the OpenSSL pkey and pkeyparam command line applications

when using the `-check` option.

The OpenSSL SSL/TLS implementation is not affected by this issue.

The OpenSSL 3.0 and 3.1 FIPS providers are affected by this issue.

The record
Technical detail
CVSS v3.1
5.3 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS v4.0
Not supplied
EPSS
0.01131 · 66.1th percentile
Weakness
CWE-606 · Unchecked Input for Loop Condition
Published
2024-05-16T15:21Z
EPSS history
Timeline
  • 16 MAY 15:21Z
    Excessive time spent checking DSA keys and parameters
    cvelistv5