CVE-2024-4603 Excessive time spent checking DSA keys and parameters

Medium 5.3 Published Updated

Attackers can cause denial of service by supplying excessively long DSA keys to applications using specific OpenSSL validation functions.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-4603?

CVE-2024-4603 is a medium-severity denial of service vulnerability in OpenSSL, published on 16 May 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-834, CWE-606

Which versions are affected by CVE-2024-4603?

Linux distribution packages (3)
openssl-3 SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions3.0.8-150500.5.33.1
openssl-3 openSUSE:Leap 15.5All versions3.0.8-150500.5.33.1
openssl-3 openSUSE:TumbleweedAll versions3.1.4-8.1

How do I fix CVE-2024-4603?

Apply the vendor's patch.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2024-4603 being exploited?

There is no known exploitation of CVE-2024-4603 in the wild and no public exploit code.

Sources

Also known as ALPINE-CVE-2024-4603, AZL-42049, AZL-42058, AZL-42063, AZL-42694, AZL-42766 and 13 more.

Is CVE-2024-4603 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free