---
id: CVE-2023-3817
title: >-
  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 l…
summary: >-
  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 l…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-606
  - CWE-834
vendor: openssl
product: openssl
affected:
  - 'openssl >= 3.0.0, < 3.0.10'
  - 'openssl >= 3.1.0, < 3.1.2'
  - openssl = 1.0.2
  - openssl = 1.0.2a
  - openssl = 1.0.2b
  - openssl = 1.0.2c
  - openssl = 1.0.2d
  - openssl = 1.0.2e
  - openssl = 1.0.2f
  - openssl = 1.0.2g
  - openssl = 1.0.2h
  - openssl = 1.0.2i
  - openssl = 1.0.2j
  - openssl = 1.0.2k
  - openssl = 1.0.2l
  - openssl = 1.0.2m
  - openssl = 1.0.2n
  - openssl = 1.0.2o
  - openssl = 1.0.2p
  - openssl = 1.0.2q
  - openssl = 1.0.2r
  - openssl = 1.0.2s
  - openssl = 1.0.2t
  - openssl = 1.0.2u
  - openssl = 1.0.2v
  - openssl = 1.0.2w
  - openssl = 1.0.2x
  - openssl = 1.0.2y
  - openssl = 1.0.2za
  - openssl = 1.0.2zb
  - openssl = 1.0.2zc
  - openssl = 1.0.2zd
  - openssl = 1.0.2ze
  - openssl = 1.0.2zf
  - openssl = 1.0.2zg
  - openssl = 1.0.2zh
  - openssl = 1.1.1
  - openssl = 1.1.1a
  - openssl = 1.1.1b
  - openssl = 1.1.1c
  - openssl = 1.1.1d
  - openssl = 1.1.1e
  - openssl = 1.1.1f
  - openssl = 1.1.1g
  - openssl = 1.1.1h
  - openssl = 1.1.1i
  - openssl = 1.1.1j
  - openssl = 1.1.1k
  - openssl = 1.1.1l
  - openssl = 1.1.1m
  - openssl = 1.1.1n
  - openssl = 1.1.1o
  - openssl = 1.1.1p
  - openssl = 1.1.1q
  - openssl = 1.1.1r
  - openssl = 1.1.1s
  - openssl = 1.1.1t
  - openssl = 1.1.1u
patched:
  - openssl 3.1.2
published: '2023-07-31'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T22:17:16.080'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2023-3817'
references:
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=6a1eb62c29db6cb5eec707f9338aee00f44e26f5
    label: openssl-security@openssl.org
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=869ad69aadd985c7b8ca6f4e5dd0eb274c9f3644
    label: openssl-security@openssl.org
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=9002fd07327a91f35ba6c1307e71fa6fd4409b7f
    label: openssl-security@openssl.org
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=91ddeba0f2269b017dc06c46c993a788974b1aa5
    label: openssl-security@openssl.org
  - url: 'https://www.openssl.org/news/secadv/20230731.txt'
    label: openssl-security@openssl.org
  - url: 'http://seclists.org/fulldisclosure/2023/Jul/43'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://www.openwall.com/lists/oss-security/2023/07/31/1'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://www.openwall.com/lists/oss-security/2023/09/22/11'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://www.openwall.com/lists/oss-security/2023/09/22/9'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://www.openwall.com/lists/oss-security/2023/11/06/2'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=6a1eb62c29db6cb5eec707f9338aee00f44e26f5
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=869ad69aadd985c7b8ca6f4e5dd0eb274c9f3644
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=9002fd07327a91f35ba6c1307e71fa6fd4409b7f
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=91ddeba0f2269b017dc06c46c993a788974b1aa5
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2023/08/msg00019.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.gentoo.org/glsa/202402-08'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20230818-0014/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20231027-0008/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20240621-0006/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.openssl.org/news/secadv/20230731.txt'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-099606.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-398330.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-915275.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-943925.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
epss: 0.03047
epssPercentile: 0.87291
ingestedAt: '2026-10-14T23:00:02.000Z'
---

## Overview

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.

## Affected

- `openssl >= 3.0.0, < 3.0.10`
- `openssl >= 3.1.0, < 3.1.2`
- `openssl = 1.0.2`
- `openssl = 1.0.2a`
- `openssl = 1.0.2b`
- `openssl = 1.0.2c`
- `openssl = 1.0.2d`
- `openssl = 1.0.2e`
- `openssl = 1.0.2f`
- `openssl = 1.0.2g`
- `openssl = 1.0.2h`
- `openssl = 1.0.2i`
- `openssl = 1.0.2j`
- `openssl = 1.0.2k`
- `openssl = 1.0.2l`
- `openssl = 1.0.2m`
- `openssl = 1.0.2n`
- `openssl = 1.0.2o`
- `openssl = 1.0.2p`
- `openssl = 1.0.2q`
- `openssl = 1.0.2r`
- `openssl = 1.0.2s`
- `openssl = 1.0.2t`
- `openssl = 1.0.2u`
- `openssl = 1.0.2v`
- `openssl = 1.0.2w`
- `openssl = 1.0.2x`
- `openssl = 1.0.2y`
- `openssl = 1.0.2za`
- `openssl = 1.0.2zb`
- `openssl = 1.0.2zc`
- `openssl = 1.0.2zd`
- `openssl = 1.0.2ze`
- `openssl = 1.0.2zf`
- `openssl = 1.0.2zg`
- `openssl = 1.0.2zh`
- `openssl = 1.1.1`
- `openssl = 1.1.1a`
- `openssl = 1.1.1b`
- `openssl = 1.1.1c`
- `openssl = 1.1.1d`
- `openssl = 1.1.1e`
- `openssl = 1.1.1f`
- `openssl = 1.1.1g`
- `openssl = 1.1.1h`
- `openssl = 1.1.1i`
- `openssl = 1.1.1j`
- `openssl = 1.1.1k`
- `openssl = 1.1.1l`
- `openssl = 1.1.1m`
- `openssl = 1.1.1n`
- `openssl = 1.1.1o`
- `openssl = 1.1.1p`
- `openssl = 1.1.1q`
- `openssl = 1.1.1r`
- `openssl = 1.1.1s`
- `openssl = 1.1.1t`
- `openssl = 1.1.1u`

## Remediation

Upgrade past the affected range:

- `openssl 3.1.2`
