CVE-2023-3817
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v3.1•MEDIUM•Score: 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
EPSS Trends
Current EPSS score: 0.35%• Percentile: 58%
Techniques & Countermeasures
- CWE-606•Unchecked Input for Loop Condition
The product does not properly check inputs that are used for loop conditions, potentially leading to a denial of service or other consequences because of excessive looping.
- CWE-834•Excessive Iteration
The product performs an iteration or loop without sufficiently limiting the number of times that the loop is executed.
Affected Systems
- Unknown•OpenSSL
≥ 1.1.1, < 1.1.1v | ≥ 1.0.2, < 1.0.2zi | ≥ 3.0.0, < 3.0.10 | ≥ 3.1.0, < 3.1.2 | 1.0.2 | 1.0.2:beta1 | 1.0.2:beta2 | 1.0.2:beta3 | 1.0.2a | 1.0.2b | 1.0.2c | 1.0.2d | 1.0.2e | 1.0.2f | 1.0.2g | 1.0.2h | 1.0.2i | 1.0.2j | 1.0.2k | 1.0.2l | 1.0.2m | 1.0.2n | 1.0.2o | 1.0.2p | 1.0.2q | 1.0.2r | 1.0.2s | 1.0.2t | 1.0.2u | 1.0.2v | 1.0.2w | 1.0.2x | 1.0.2y | 1.0.2za | 1.0.2zb | 1.0.2zc | 1.0.2zd | 1.0.2ze | 1.0.2zf | 1.0.2zg | 1.0.2zh | 1.1.1 | 1.1.1:pre1 | 1.1.1:pre2 | 1.1.1:pre3 | 1.1.1:pre4 | 1.1.1:pre5 | 1.1.1:pre6 | 1.1.1:pre7 | 1.1.1:pre8 | 1.1.1:pre9 | 1.1.1a | 1.1.1b | 1.1.1c | 1.1.1d | 1.1.1e | 1.1.1f | 1.1.1g | 1.1.1h | 1.1.1i | 1.1.1j | 1.1.1k | 1.1.1l | 1.1.1m | 1.1.1n | 1.1.1o | 1.1.1p | 1.1.1q | 1.1.1r | 1.1.1s | 1.1.1t | 1.1.1u
References (15)
- https://www.openssl.org/news/secadv/20230731.txt
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=6a1eb62c29db6cb5eec707f9338aee00f44e26f5
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=9002fd07327a91f35ba6c1307e71fa6fd4409b7f
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=91ddeba0f2269b017dc06c46c993a788974b1aa5
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=869ad69aadd985c7b8ca6f4e5dd0eb274c9f3644
- http://seclists.org/fulldisclosure/2023/Jul/43
- http://www.openwall.com/lists/oss-security/2023/07/31/1
- https://lists.debian.org/debian-lts-announce/2023/08/msg00019.html
- https://security.netapp.com/advisory/ntap-20230818-0014/
- http://www.openwall.com/lists/oss-security/2023/09/22/9
- http://www.openwall.com/lists/oss-security/2023/09/22/11
- https://security.netapp.com/advisory/ntap-20231027-0008/
- http://www.openwall.com/lists/oss-security/2023/11/06/2
- https://security.gentoo.org/glsa/202402-08
- https://security.netapp.com/advisory/ntap-20240621-0006/