CVE-2023-6237 Excessive time spent checking invalid RSA public keys

Medium 5.9 Published Updated

Attackers can cause denial of service by providing excessively long invalid RSA public keys to applications using OpenSSL's EVP_PKEY_public_check function.

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

What is CVE-2023-6237?

CVE-2023-6237 is a medium-severity denial of service vulnerability in OpenSSL, published on 25 Apr 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 invalid RSA public keys may take a long time.

Impact summary: Applications that use the function EVP_PKEY_public_check() to check RSA public keys may experience long delays. Where the key that is being checked has been obtained from an untrusted source this may lead to a Denial of Service.

When function EVP_PKEY_public_check() is called on RSA public keys, a computation is done to confirm that the RSA modulus, n, is composite. For valid RSA keys, n is a product of two or more large primes and this computation completes quickly. However, if n is an overly large prime, then this computation would take a long time.

An application that calls EVP_PKEY_public_check() and supplies an RSA key obtained from an untrusted source could be vulnerable to a Denial of Service attack.

The function EVP_PKEY_public_check() is not called from other OpenSSL functions however it is called from the OpenSSL pkey command line application. For that reason that application is also vulnerable if used with the '-pubin' and '-check' options on untrusted data.

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-606

Which versions are affected by CVE-2023-6237?

How do I fix CVE-2023-6237?

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-2023-6237 being exploited?

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

Sources

Also known as ALPINE-CVE-2023-6237, AZL-39946, AZL-39961, AZL-39968, AZL-42688, AZL-42727 and 9 more.

Is CVE-2023-6237 in your software?

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

Check your SBOMs for free