CVE-2023-6237

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-6237
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-6237.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-6237
Downstream
Related
Published
2024-04-25T07:15:45Z
Modified
2025-09-19T14:48:33.052224Z
Summary
[none]
Details

Issue summary: Checking excessively long invalid RSA public keys may take a long time.

Impact summary: Applications that use the function EVPPKEYpublic_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 EVPPKEYpublic_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 EVPPKEYpublic_check() and supplies an RSA key obtained from an untrusted source could be vulnerable to a Denial of Service attack.

The function EVPPKEYpublic_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.

References

Affected packages

Alpine:v3.17

openssl

Package

Name
openssl
Purl
pkg:apk/alpine/openssl?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.0.12-r3

Affected versions

1.*

1.1.1-r0
1.1.1-r1
1.1.1-r2
1.1.1-r3
1.1.1-r4
1.1.1-r5
1.1.1a-r0
1.1.1a-r1
1.1.1b-r0
1.1.1b-r1
1.1.1c-r0
1.1.1c-r1
1.1.1d-r1
1.1.1d-r2
1.1.1d-r3
1.1.1d-r4
1.1.1d-r5
1.1.1e-r0
1.1.1f-r0
1.1.1g-r0
1.1.1h-r0
1.1.1i-r0
1.1.1j-r0
1.1.1k-r0
1.1.1k-r1
1.1.1l-r0

3.*

3.0.0-r0
3.0.0-r1
3.0.0-r2
3.0.0-r3
3.0.0-r4
3.0.1-r0
3.0.1-r1
3.0.2-r0
3.0.3-r0
3.0.5-r0
3.0.5-r1
3.0.5-r2
3.0.5-r3
3.0.6-r0
3.0.7-r0
3.0.7-r2
3.0.8-r0
3.0.8-r1
3.0.8-r2
3.0.8-r3
3.0.8-r4
3.0.9-r0
3.0.9-r1
3.0.9-r2
3.0.9-r3
3.0.10-r0
3.0.11-r0
3.0.12-r0
3.0.12-r1
3.0.12-r2

Alpine:v3.18

openssl

Package

Name
openssl
Purl
pkg:apk/alpine/openssl?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.1.4-r4

Affected versions

1.*

1.1.1-r0
1.1.1-r1
1.1.1-r2
1.1.1-r3
1.1.1-r4
1.1.1-r5
1.1.1a-r0
1.1.1a-r1
1.1.1b-r0
1.1.1b-r1
1.1.1c-r0
1.1.1c-r1
1.1.1d-r1
1.1.1d-r2
1.1.1d-r3
1.1.1d-r4
1.1.1d-r5
1.1.1e-r0
1.1.1f-r0
1.1.1g-r0
1.1.1h-r0
1.1.1i-r0
1.1.1j-r0
1.1.1k-r0
1.1.1k-r1
1.1.1l-r0

3.*

3.0.0-r0
3.0.0-r1
3.0.0-r2
3.0.0-r3
3.0.0-r4
3.0.1-r0
3.0.1-r1
3.0.2-r0
3.0.3-r0
3.0.5-r0
3.0.5-r1
3.0.5-r2
3.0.5-r3
3.0.6-r0
3.0.7-r0
3.0.7-r1
3.0.7-r2
3.0.8-r0
3.0.8-r1
3.1.0-r0
3.1.0-r1
3.1.0-r2
3.1.0-r3
3.1.0-r4
3.1.1-r0
3.1.1-r1
3.1.1-r2
3.1.1-r3
3.1.2-r0
3.1.3-r0
3.1.4-r0
3.1.4-r1
3.1.4-r2
3.1.4-r3

Alpine:v3.19

openssl

Package

Name
openssl
Purl
pkg:apk/alpine/openssl?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.1.4-r4

Affected versions

1.*

1.1.1-r0
1.1.1-r1
1.1.1-r2
1.1.1-r3
1.1.1-r4
1.1.1-r5
1.1.1a-r0
1.1.1a-r1
1.1.1b-r0
1.1.1b-r1
1.1.1c-r0
1.1.1c-r1
1.1.1d-r1
1.1.1d-r2
1.1.1d-r3
1.1.1d-r4
1.1.1d-r5
1.1.1e-r0
1.1.1f-r0
1.1.1g-r0
1.1.1h-r0
1.1.1i-r0
1.1.1j-r0
1.1.1k-r0
1.1.1k-r1
1.1.1l-r0

3.*

3.0.0-r0
3.0.0-r1
3.0.0-r2
3.0.0-r3
3.0.0-r4
3.0.1-r0
3.0.1-r1
3.0.2-r0
3.0.3-r0
3.0.5-r0
3.0.5-r1
3.0.5-r2
3.0.5-r3
3.0.6-r0
3.0.7-r0
3.0.7-r1
3.0.7-r2
3.0.8-r0
3.0.8-r1
3.1.0-r0
3.1.0-r1
3.1.0-r2
3.1.0-r3
3.1.0-r4
3.1.0-r5
3.1.1-r0
3.1.1-r1
3.1.1-r2
3.1.1-r3
3.1.2-r0
3.1.3-r0
3.1.4-r0
3.1.4-r1
3.1.4-r2
3.1.4-r3

Alpine:v3.20

openssl

Package

Name
openssl
Purl
pkg:apk/alpine/openssl?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.1.4-r4

Affected versions

1.*

1.1.1-r0
1.1.1-r1
1.1.1-r2
1.1.1-r3
1.1.1-r4
1.1.1-r5
1.1.1a-r0
1.1.1a-r1
1.1.1b-r0
1.1.1b-r1
1.1.1c-r0
1.1.1c-r1
1.1.1d-r1
1.1.1d-r2
1.1.1d-r3
1.1.1d-r4
1.1.1d-r5
1.1.1e-r0
1.1.1f-r0
1.1.1g-r0
1.1.1h-r0
1.1.1i-r0
1.1.1j-r0
1.1.1k-r0
1.1.1k-r1
1.1.1l-r0

3.*

3.0.0-r0
3.0.0-r1
3.0.0-r2
3.0.0-r3
3.0.0-r4
3.0.1-r0
3.0.1-r1
3.0.2-r0
3.0.3-r0
3.0.5-r0
3.0.5-r1
3.0.5-r2
3.0.5-r3
3.0.6-r0
3.0.7-r0
3.0.7-r1
3.0.7-r2
3.0.8-r0
3.0.8-r1
3.1.0-r0
3.1.0-r1
3.1.0-r2
3.1.0-r3
3.1.0-r4
3.1.0-r5
3.1.1-r0
3.1.1-r1
3.1.1-r2
3.1.1-r3
3.1.2-r0
3.1.3-r0
3.1.4-r0
3.1.4-r1
3.1.4-r2
3.1.4-r3

Alpine:v3.21

openssl

Package

Name
openssl
Purl
pkg:apk/alpine/openssl?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.1.4-r4

Affected versions

1.*

1.1.1-r0
1.1.1-r1
1.1.1-r2
1.1.1-r3
1.1.1-r4
1.1.1-r5
1.1.1a-r0
1.1.1a-r1
1.1.1b-r0
1.1.1b-r1
1.1.1c-r0
1.1.1c-r1
1.1.1d-r1
1.1.1d-r2
1.1.1d-r3
1.1.1d-r4
1.1.1d-r5
1.1.1e-r0
1.1.1f-r0
1.1.1g-r0
1.1.1h-r0
1.1.1i-r0
1.1.1j-r0
1.1.1k-r0
1.1.1k-r1
1.1.1l-r0

3.*

3.0.0-r0
3.0.0-r1
3.0.0-r2
3.0.0-r3
3.0.0-r4
3.0.1-r0
3.0.1-r1
3.0.2-r0
3.0.3-r0
3.0.5-r0
3.0.5-r1
3.0.5-r2
3.0.5-r3
3.0.6-r0
3.0.7-r0
3.0.7-r1
3.0.7-r2
3.0.8-r0
3.0.8-r1
3.1.0-r0
3.1.0-r1
3.1.0-r2
3.1.0-r3
3.1.0-r4
3.1.0-r5
3.1.1-r0
3.1.1-r1
3.1.1-r2
3.1.1-r3
3.1.2-r0
3.1.3-r0
3.1.4-r0
3.1.4-r1
3.1.4-r2
3.1.4-r3

Alpine:v3.22

openssl

Package

Name
openssl
Purl
pkg:apk/alpine/openssl?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.1.4-r4

Affected versions

1.*

1.1.1-r0
1.1.1-r1
1.1.1-r2
1.1.1-r3
1.1.1-r4
1.1.1-r5
1.1.1a-r0
1.1.1a-r1
1.1.1b-r0
1.1.1b-r1
1.1.1c-r0
1.1.1c-r1
1.1.1d-r1
1.1.1d-r2
1.1.1d-r3
1.1.1d-r4
1.1.1d-r5
1.1.1e-r0
1.1.1f-r0
1.1.1g-r0
1.1.1h-r0
1.1.1i-r0
1.1.1j-r0
1.1.1k-r0
1.1.1k-r1
1.1.1l-r0

3.*

3.0.0-r0
3.0.0-r1
3.0.0-r2
3.0.0-r3
3.0.0-r4
3.0.1-r0
3.0.1-r1
3.0.2-r0
3.0.3-r0
3.0.5-r0
3.0.5-r1
3.0.5-r2
3.0.5-r3
3.0.6-r0
3.0.7-r0
3.0.7-r1
3.0.7-r2
3.0.8-r0
3.0.8-r1
3.1.0-r0
3.1.0-r1
3.1.0-r2
3.1.0-r3
3.1.0-r4
3.1.0-r5
3.1.1-r0
3.1.1-r1
3.1.1-r2
3.1.1-r3
3.1.2-r0
3.1.3-r0
3.1.4-r0
3.1.4-r1
3.1.4-r2
3.1.4-r3

Git

github.com/openssl/openssl

Affected ranges

Type
GIT
Repo
https://github.com/openssl/openssl
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Fixed

Affected versions

Other

BEFORE_engine
OpenSSL_0_9_1c
OpenSSL_0_9_2b
OpenSSL_0_9_3
OpenSSL_0_9_3a
OpenSSL_0_9_3beta2
OpenSSL_0_9_4
OpenSSL_0_9_5a
OpenSSL_0_9_5a-beta1
OpenSSL_0_9_5a-beta2
OpenSSL_0_9_5beta1
OpenSSL_0_9_5beta2
OpenSSL_0_9_6-beta3
OpenSSL_1_1_0-pre1
OpenSSL_1_1_0-pre2
OpenSSL_1_1_0-pre3
OpenSSL_1_1_0-pre4
OpenSSL_1_1_0-pre5
OpenSSL_1_1_0-pre6
OpenSSL_1_1_1
OpenSSL_1_1_1-pre1
OpenSSL_1_1_1-pre2
OpenSSL_1_1_1-pre3
OpenSSL_1_1_1-pre4
OpenSSL_1_1_1-pre5
OpenSSL_1_1_1-pre6
OpenSSL_1_1_1-pre7
OpenSSL_1_1_1-pre8
OpenSSL_1_1_1-pre9
master-post-auto-reformat
master-post-reformat
master-pre-auto-reformat
master-pre-reformat

openssl-3.*

openssl-3.0.0
openssl-3.0.0-alpha1
openssl-3.0.0-alpha10
openssl-3.0.0-alpha11
openssl-3.0.0-alpha12
openssl-3.0.0-alpha13
openssl-3.0.0-alpha14
openssl-3.0.0-alpha15
openssl-3.0.0-alpha16
openssl-3.0.0-alpha17
openssl-3.0.0-alpha2
openssl-3.0.0-alpha3
openssl-3.0.0-alpha4
openssl-3.0.0-alpha5
openssl-3.0.0-alpha6
openssl-3.0.0-alpha7
openssl-3.0.0-alpha8
openssl-3.0.0-alpha9
openssl-3.0.0-beta1
openssl-3.0.0-beta2
openssl-3.0.1
openssl-3.0.10
openssl-3.0.11
openssl-3.0.12
openssl-3.0.2
openssl-3.0.3
openssl-3.0.4
openssl-3.0.5
openssl-3.0.6
openssl-3.0.7
openssl-3.0.8
openssl-3.0.9
openssl-3.1.0
openssl-3.1.0-alpha1
openssl-3.1.0-beta1
openssl-3.1.1
openssl-3.1.2
openssl-3.1.3
openssl-3.1.4
openssl-3.2.0
openssl-3.2.0-alpha1
openssl-3.2.0-alpha2
openssl-3.2.0-beta1

Database specific

{
    "vanir_signatures": [
        {
            "digest": {
                "function_hash": "36262343259786368621085857695218833956",
                "length": 1258.0
            },
            "id": "CVE-2023-6237-07b4356d",
            "source": "https://github.com/openssl/openssl/commit/0b0f7abfb37350794a4b8960fafc292cd5d1b84d",
            "signature_type": "Function",
            "signature_version": "v1",
            "target": {
                "file": "crypto/rsa/rsa_sp800_56b_check.c",
                "function": "ossl_rsa_sp800_56b_check_public"
            },
            "deprecated": false
        },
        {
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "5799985256469090440161975918621279176",
                    "231956326038171660204156138522531293340",
                    "72751756268789884712810101003534450503",
                    "314070120765545521861021195160721661288",
                    "163275361520424784336712083888861921840",
                    "80433659035868977858238900915029720241",
                    "55330043341397734539339972248704545042",
                    "79386981174192347288537193082013598235"
                ]
            },
            "id": "CVE-2023-6237-3d282511",
            "source": "https://github.com/openssl/openssl/commit/18c02492138d1eb8b6548cb26e7b625fb2414a2a",
            "signature_type": "Line",
            "signature_version": "v1",
            "target": {
                "file": "crypto/rsa/rsa_sp800_56b_check.c"
            },
            "deprecated": false
        },
        {
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "5799985256469090440161975918621279176",
                    "231956326038171660204156138522531293340",
                    "72751756268789884712810101003534450503",
                    "314070120765545521861021195160721661288",
                    "163275361520424784336712083888861921840",
                    "80433659035868977858238900915029720241",
                    "55330043341397734539339972248704545042",
                    "79386981174192347288537193082013598235"
                ]
            },
            "id": "CVE-2023-6237-7dd742ac",
            "source": "https://github.com/openssl/openssl/commit/0b0f7abfb37350794a4b8960fafc292cd5d1b84d",
            "signature_type": "Line",
            "signature_version": "v1",
            "target": {
                "file": "crypto/rsa/rsa_sp800_56b_check.c"
            },
            "deprecated": false
        },
        {
            "digest": {
                "function_hash": "36262343259786368621085857695218833956",
                "length": 1258.0
            },
            "id": "CVE-2023-6237-8aca94dc",
            "source": "https://github.com/openssl/openssl/commit/18c02492138d1eb8b6548cb26e7b625fb2414a2a",
            "signature_type": "Function",
            "signature_version": "v1",
            "target": {
                "file": "crypto/rsa/rsa_sp800_56b_check.c",
                "function": "ossl_rsa_sp800_56b_check_public"
            },
            "deprecated": false
        },
        {
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "5799985256469090440161975918621279176",
                    "231956326038171660204156138522531293340",
                    "72751756268789884712810101003534450503",
                    "314070120765545521861021195160721661288",
                    "163275361520424784336712083888861921840",
                    "80433659035868977858238900915029720241",
                    "55330043341397734539339972248704545042",
                    "79386981174192347288537193082013598235"
                ]
            },
            "id": "CVE-2023-6237-98851d99",
            "source": "https://github.com/openssl/openssl/commit/a830f551557d3d66a84bbb18a5b889c640c36294",
            "signature_type": "Line",
            "signature_version": "v1",
            "target": {
                "file": "crypto/rsa/rsa_sp800_56b_check.c"
            },
            "deprecated": false
        },
        {
            "digest": {
                "function_hash": "36262343259786368621085857695218833956",
                "length": 1258.0
            },
            "id": "CVE-2023-6237-e95520da",
            "source": "https://github.com/openssl/openssl/commit/a830f551557d3d66a84bbb18a5b889c640c36294",
            "signature_type": "Function",
            "signature_version": "v1",
            "target": {
                "file": "crypto/rsa/rsa_sp800_56b_check.c",
                "function": "ossl_rsa_sp800_56b_check_public"
            },
            "deprecated": false
        }
    ]
}