Vulnerability Database

296,147

Total vulnerabilities in the database

CVE-2023-3817

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.

  • Published: Jul 31, 2023
  • Updated: Aug 9, 2023
  • CVE: CVE-2023-3817
  • Severity: Medium
  • Exploit:

CVSS v3:

  • Severity: Medium
  • Score: 5.3
  • AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

CWEs:

Software From Fixed in
openssl / openssl 1.0.2a 1.0.2a.x
openssl / openssl 1.0.2e 1.0.2e.x
openssl / openssl 1.0.2j 1.0.2j.x
openssl / openssl 1.0.2b 1.0.2b.x
openssl / openssl 1.0.2g 1.0.2g.x
openssl / openssl 1.0.2h 1.0.2h.x
openssl / openssl 1.0.2c 1.0.2c.x
openssl / openssl 1.0.2-beta3 1.0.2-beta3.x
openssl / openssl 1.0.2-beta1 1.0.2-beta1.x
openssl / openssl 1.0.2f 1.0.2f.x
openssl / openssl 1.0.2-beta2 1.0.2-beta2.x
openssl / openssl 1.0.2i 1.0.2i.x
openssl / openssl 1.0.2d 1.0.2d.x
openssl / openssl 1.0.2k 1.0.2k.x
openssl / openssl 1.0.2l 1.0.2l.x
openssl / openssl 1.0.2m 1.0.2m.x
openssl / openssl 1.0.2zb 1.0.2zb.x
openssl / openssl 1.0.2 1.0.2.x
openssl / openssl 1.0.2n 1.0.2n.x
openssl / openssl 1.0.2o 1.0.2o.x
openssl / openssl 1.0.2p 1.0.2p.x
openssl / openssl 1.0.2q 1.0.2q.x
openssl / openssl 1.0.2r 1.0.2r.x
openssl / openssl 1.0.2s 1.0.2s.x
openssl / openssl 1.0.2t 1.0.2t.x
openssl / openssl 1.0.2u 1.0.2u.x
openssl / openssl 1.0.2v 1.0.2v.x
openssl / openssl 1.0.2w 1.0.2w.x
openssl / openssl 1.0.2x 1.0.2x.x
openssl / openssl 1.0.2y 1.0.2y.x
openssl / openssl 1.0.2za 1.0.2za.x
openssl / openssl 1.1.1 1.1.1.x
openssl / openssl 1.1.1-pre1 1.1.1-pre1.x
openssl / openssl 1.1.1-pre2 1.1.1-pre2.x
openssl / openssl 1.1.1-pre3 1.1.1-pre3.x
openssl / openssl 1.1.1-pre4 1.1.1-pre4.x
openssl / openssl 1.1.1-pre5 1.1.1-pre5.x
openssl / openssl 1.1.1-pre6 1.1.1-pre6.x
openssl / openssl 1.1.1-pre7 1.1.1-pre7.x
openssl / openssl 1.1.1-pre8 1.1.1-pre8.x
openssl / openssl 1.1.1-pre9 1.1.1-pre9.x
openssl / openssl 1.1.1a 1.1.1a.x
openssl / openssl 1.1.1b 1.1.1b.x
openssl / openssl 1.1.1c 1.1.1c.x
openssl / openssl 1.1.1d 1.1.1d.x
openssl / openssl 1.1.1e 1.1.1e.x
openssl / openssl 1.1.1f 1.1.1f.x
openssl / openssl 1.1.1g 1.1.1g.x
openssl / openssl 1.1.1h 1.1.1h.x
openssl / openssl 1.1.1i 1.1.1i.x
openssl / openssl 1.1.1j 1.1.1j.x
openssl / openssl 1.1.1k 1.1.1k.x
openssl / openssl 1.1.1l 1.1.1l.x
openssl / openssl 3.1.0 3.1.2
openssl / openssl 3.0.0 3.0.10
openssl / openssl 1.1.1m 1.1.1m.x
openssl / openssl 1.1.1n 1.1.1n.x
openssl / openssl 1.1.1o 1.1.1o.x
openssl / openssl 1.1.1p 1.1.1p.x
openssl / openssl 1.1.1q 1.1.1q.x
openssl / openssl 1.1.1r 1.1.1r.x
openssl / openssl 1.1.1s 1.1.1s.x
openssl / openssl 1.1.1t 1.1.1t.x
openssl / openssl 1.1.1u 1.1.1u.x
openssl / openssl 1.0.2zc 1.0.2zc.x
openssl / openssl 1.0.2zd 1.0.2zd.x
openssl / openssl 1.0.2ze 1.0.2ze.x
openssl / openssl 1.0.2zf 1.0.2zf.x
openssl / openssl 1.0.2zg 1.0.2zg.x
openssl / openssl 1.0.2zh 1.0.2zh.x