Issue summary: Checking excessively long DH keys or parameters may be very slow. Impact summary: Applications that use the functions DH_check(), DH_check_ex() or EVP_PKEY_param_check() to check a DH key or DH 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 function DH_check() performs various checks on DH parameters. After fixing CVE-2023-3446 it was discovered that a large q parameter value can also trigger an overly long computation during some of these checks. A correct q value, if present, cannot be larger than the modulus p parameter, thus it is unnecessary to perform these checks if q is larger than p. An application that calls DH_check() and supplies a key or parameters obtained from an untrusted source could be vulnerable to a Denial of Service attack. The function DH_check() is itself called by a number of other OpenSSL functions. An application calling any of those other functions may similarly be affected. The other functions affected by this are DH_check_ex() and EVP_PKEY_param_check(). Also vulnerable are the OpenSSL dhparam 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 not affected by this issue.
2023-07-31T16:15:10.497
2025-05-05T16:15:47.343
Modified
CVSSv3.1: 5.3 (MEDIUM)
Type | Vendor | Product | Version/Range | Vulnerable? |
---|---|---|---|---|
Application | openssl | openssl | < 3.0.10 | Yes |
Application | openssl | openssl | < 3.1.2 | Yes |
Application | openssl | openssl | 1.0.2 | Yes |
Application | openssl | openssl | 1.0.2 | Yes |
Application | openssl | openssl | 1.0.2 | Yes |
Application | openssl | openssl | 1.0.2 | Yes |
Application | openssl | openssl | 1.0.2a | Yes |
Application | openssl | openssl | 1.0.2b | Yes |
Application | openssl | openssl | 1.0.2c | Yes |
Application | openssl | openssl | 1.0.2d | Yes |
Application | openssl | openssl | 1.0.2e | Yes |
Application | openssl | openssl | 1.0.2f | Yes |
Application | openssl | openssl | 1.0.2g | Yes |
Application | openssl | openssl | 1.0.2h | Yes |
Application | openssl | openssl | 1.0.2i | Yes |
Application | openssl | openssl | 1.0.2j | Yes |
Application | openssl | openssl | 1.0.2k | Yes |
Application | openssl | openssl | 1.0.2l | Yes |
Application | openssl | openssl | 1.0.2m | Yes |
Application | openssl | openssl | 1.0.2n | Yes |
Application | openssl | openssl | 1.0.2o | Yes |
Application | openssl | openssl | 1.0.2p | Yes |
Application | openssl | openssl | 1.0.2q | Yes |
Application | openssl | openssl | 1.0.2r | Yes |
Application | openssl | openssl | 1.0.2s | Yes |
Application | openssl | openssl | 1.0.2t | Yes |
Application | openssl | openssl | 1.0.2u | Yes |
Application | openssl | openssl | 1.0.2v | Yes |
Application | openssl | openssl | 1.0.2w | Yes |
Application | openssl | openssl | 1.0.2x | Yes |
Application | openssl | openssl | 1.0.2y | Yes |
Application | openssl | openssl | 1.0.2za | Yes |
Application | openssl | openssl | 1.0.2zb | Yes |
Application | openssl | openssl | 1.0.2zc | Yes |
Application | openssl | openssl | 1.0.2zd | Yes |
Application | openssl | openssl | 1.0.2ze | Yes |
Application | openssl | openssl | 1.0.2zf | Yes |
Application | openssl | openssl | 1.0.2zg | Yes |
Application | openssl | openssl | 1.0.2zh | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1 | Yes |
Application | openssl | openssl | 1.1.1a | Yes |
Application | openssl | openssl | 1.1.1b | Yes |
Application | openssl | openssl | 1.1.1c | Yes |
Application | openssl | openssl | 1.1.1d | Yes |
Application | openssl | openssl | 1.1.1e | Yes |
Application | openssl | openssl | 1.1.1f | Yes |
Application | openssl | openssl | 1.1.1g | Yes |
Application | openssl | openssl | 1.1.1h | Yes |
Application | openssl | openssl | 1.1.1i | Yes |
Application | openssl | openssl | 1.1.1j | Yes |
Application | openssl | openssl | 1.1.1k | Yes |
Application | openssl | openssl | 1.1.1l | Yes |
Application | openssl | openssl | 1.1.1m | Yes |
Application | openssl | openssl | 1.1.1n | Yes |
Application | openssl | openssl | 1.1.1o | Yes |
Application | openssl | openssl | 1.1.1p | Yes |
Application | openssl | openssl | 1.1.1q | Yes |
Application | openssl | openssl | 1.1.1r | Yes |
Application | openssl | openssl | 1.1.1s | Yes |
Application | openssl | openssl | 1.1.1t | Yes |
Application | openssl | openssl | 1.1.1u | Yes |