Issue summary: Checking excessively long DSA keys or parameters may be very slow.
Impact summary: Applications that use the functions EVPPKEYparamcheck() or EVPPKEYpubliccheck() to check a DSA public key or DSA 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 functions EVPPKEYparamcheck() or EVPPKEYpubliccheck() perform
various checks on DSA parameters. Some of those computations take a long time
if the modulus (p parameter) is too large.
Trying to use a very large modulus is slow and OpenSSL will not allow using public keys with a modulus which is over 10,000 bits in length for signature verification. However the key and parameter check functions do not limit the modulus size when performing the checks.
An application that calls EVPPKEYparamcheck() or EVPPKEYpubliccheck() and supplies a key or parameters obtained from an untrusted source could be vulnerable to a Denial of Service attack.
These functions are not called by OpenSSL itself on untrusted DSA keys so only applications that directly call these functions may be vulnerable.
Also vulnerable are the OpenSSL pkey 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 affected by this issue.
[
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key"
},
"deprecated": false,
"id": "CVE-2024-4603-0f1dc7ae",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/9c39b3858091c152f52513c066ff2c5a47969f0d"
},
{
"digest": {
"length": 301.0,
"function_hash": "307444583308020639014663628111494753137"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_params"
},
"deprecated": false,
"id": "CVE-2024-4603-27dbfa1b",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/9c39b3858091c152f52513c066ff2c5a47969f0d"
},
{
"digest": {
"length": 187.0,
"function_hash": "63303990667448414431624506292711823034"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_priv_key"
},
"deprecated": false,
"id": "CVE-2024-4603-287eb402",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/3559e868e58005d15c6013a0c1fd832e51c73397"
},
{
"digest": {
"length": 521.0,
"function_hash": "236650307775533617446147756765254676295"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pairwise"
},
"deprecated": false,
"id": "CVE-2024-4603-302cbd02",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e"
},
{
"digest": {
"length": 521.0,
"function_hash": "236650307775533617446147756765254676295"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pairwise"
},
"deprecated": false,
"id": "CVE-2024-4603-32202760",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/9c39b3858091c152f52513c066ff2c5a47969f0d"
},
{
"digest": {
"length": 301.0,
"function_hash": "307444583308020639014663628111494753137"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_params"
},
"deprecated": false,
"id": "CVE-2024-4603-4187310f",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/da343d0605c826ef197aceedc67e8e04f065f740"
},
{
"digest": {
"line_hashes": [
"243150946184705416718670416235183356916",
"180349981022369179925439192885659650714",
"8106935018977536703215056308323611634",
"137549371667215865797354773677897919745",
"178836937939992247904524348378080056735",
"278097579510097664881660522629381390399",
"90181849990248972169943799142956395004",
"74978584338083252776430056065644879326",
"76169492372411342605408504353923724513",
"55983040006459865879982821551074916929",
"326410872419412397963066451556847399168",
"83139677653707575113776342785214859276",
"328344147515312161050901724342349399519",
"12296000804367969784194674287167751474",
"213080590428735873312882663715853986836",
"18090696423168841971202238792296069525",
"249365869365766579695386042359288790320",
"159149726014041690445969824550432676451",
"256845625190901066519403965942137550781",
"131307540412419780483250265659272263156",
"312611335098158983336659862104821095064",
"128039915356107327974349445235373709199",
"32274130780543847983305058081411750891"
],
"threshold": 0.9
},
"target": {
"file": "crypto/dsa/dsa_check.c"
},
"deprecated": false,
"id": "CVE-2024-4603-47776a39",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://github.com/openssl/openssl/commit/9c39b3858091c152f52513c066ff2c5a47969f0d"
},
{
"digest": {
"length": 521.0,
"function_hash": "236650307775533617446147756765254676295"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pairwise"
},
"deprecated": false,
"id": "CVE-2024-4603-4dbed64f",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/da343d0605c826ef197aceedc67e8e04f065f740"
},
{
"digest": {
"length": 301.0,
"function_hash": "307444583308020639014663628111494753137"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_params"
},
"deprecated": false,
"id": "CVE-2024-4603-6b2b3cbf",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/3559e868e58005d15c6013a0c1fd832e51c73397"
},
{
"digest": {
"line_hashes": [
"243150946184705416718670416235183356916",
"180349981022369179925439192885659650714",
"8106935018977536703215056308323611634",
"137549371667215865797354773677897919745",
"178836937939992247904524348378080056735",
"278097579510097664881660522629381390399",
"90181849990248972169943799142956395004",
"74978584338083252776430056065644879326",
"76169492372411342605408504353923724513",
"55983040006459865879982821551074916929",
"326410872419412397963066451556847399168",
"83139677653707575113776342785214859276",
"328344147515312161050901724342349399519",
"12296000804367969784194674287167751474",
"213080590428735873312882663715853986836",
"18090696423168841971202238792296069525",
"249365869365766579695386042359288790320",
"159149726014041690445969824550432676451",
"256845625190901066519403965942137550781",
"131307540412419780483250265659272263156",
"312611335098158983336659862104821095064",
"128039915356107327974349445235373709199",
"32274130780543847983305058081411750891"
],
"threshold": 0.9
},
"target": {
"file": "crypto/dsa/dsa_check.c"
},
"deprecated": false,
"id": "CVE-2024-4603-6f6a722b",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://github.com/openssl/openssl/commit/da343d0605c826ef197aceedc67e8e04f065f740"
},
{
"digest": {
"line_hashes": [
"243150946184705416718670416235183356916",
"180349981022369179925439192885659650714",
"8106935018977536703215056308323611634",
"137549371667215865797354773677897919745",
"178836937939992247904524348378080056735",
"278097579510097664881660522629381390399",
"90181849990248972169943799142956395004",
"74978584338083252776430056065644879326",
"76169492372411342605408504353923724513",
"55983040006459865879982821551074916929",
"326410872419412397963066451556847399168",
"83139677653707575113776342785214859276",
"328344147515312161050901724342349399519",
"12296000804367969784194674287167751474",
"213080590428735873312882663715853986836",
"18090696423168841971202238792296069525",
"249365869365766579695386042359288790320",
"159149726014041690445969824550432676451",
"256845625190901066519403965942137550781",
"131307540412419780483250265659272263156",
"312611335098158983336659862104821095064",
"128039915356107327974349445235373709199",
"32274130780543847983305058081411750891"
],
"threshold": 0.9
},
"target": {
"file": "crypto/dsa/dsa_check.c"
},
"deprecated": false,
"id": "CVE-2024-4603-768ad877",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e"
},
{
"digest": {
"length": 187.0,
"function_hash": "63303990667448414431624506292711823034"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_priv_key"
},
"deprecated": false,
"id": "CVE-2024-4603-80202d0f",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key"
},
"deprecated": false,
"id": "CVE-2024-4603-98fe2189",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/3559e868e58005d15c6013a0c1fd832e51c73397"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key_partial"
},
"deprecated": false,
"id": "CVE-2024-4603-9aa2870f",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/3559e868e58005d15c6013a0c1fd832e51c73397"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key_partial"
},
"deprecated": false,
"id": "CVE-2024-4603-a4ba5364",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e"
},
{
"digest": {
"length": 187.0,
"function_hash": "63303990667448414431624506292711823034"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_priv_key"
},
"deprecated": false,
"id": "CVE-2024-4603-a5c9e065",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/da343d0605c826ef197aceedc67e8e04f065f740"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key_partial"
},
"deprecated": false,
"id": "CVE-2024-4603-b1dd08ad",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/da343d0605c826ef197aceedc67e8e04f065f740"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key"
},
"deprecated": false,
"id": "CVE-2024-4603-c032044a",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e"
},
{
"digest": {
"length": 521.0,
"function_hash": "236650307775533617446147756765254676295"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pairwise"
},
"deprecated": false,
"id": "CVE-2024-4603-c2f70c2e",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/3559e868e58005d15c6013a0c1fd832e51c73397"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key"
},
"deprecated": false,
"id": "CVE-2024-4603-c98162c3",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/da343d0605c826ef197aceedc67e8e04f065f740"
},
{
"digest": {
"line_hashes": [
"243150946184705416718670416235183356916",
"180349981022369179925439192885659650714",
"8106935018977536703215056308323611634",
"137549371667215865797354773677897919745",
"178836937939992247904524348378080056735",
"278097579510097664881660522629381390399",
"90181849990248972169943799142956395004",
"74978584338083252776430056065644879326",
"76169492372411342605408504353923724513",
"55983040006459865879982821551074916929",
"326410872419412397963066451556847399168",
"83139677653707575113776342785214859276",
"328344147515312161050901724342349399519",
"12296000804367969784194674287167751474",
"213080590428735873312882663715853986836",
"18090696423168841971202238792296069525",
"249365869365766579695386042359288790320",
"159149726014041690445969824550432676451",
"256845625190901066519403965942137550781",
"131307540412419780483250265659272263156",
"312611335098158983336659862104821095064",
"128039915356107327974349445235373709199",
"32274130780543847983305058081411750891"
],
"threshold": 0.9
},
"target": {
"file": "crypto/dsa/dsa_check.c"
},
"deprecated": false,
"id": "CVE-2024-4603-cb9b89a3",
"signature_version": "v1",
"signature_type": "Line",
"source": "https://github.com/openssl/openssl/commit/3559e868e58005d15c6013a0c1fd832e51c73397"
},
{
"digest": {
"length": 187.0,
"function_hash": "63303990667448414431624506292711823034"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_priv_key"
},
"deprecated": false,
"id": "CVE-2024-4603-de0add79",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/9c39b3858091c152f52513c066ff2c5a47969f0d"
},
{
"digest": {
"length": 152.0,
"function_hash": "219663322568032758739344610759529853203"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_pub_key_partial"
},
"deprecated": false,
"id": "CVE-2024-4603-defd9f3b",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/9c39b3858091c152f52513c066ff2c5a47969f0d"
},
{
"digest": {
"length": 301.0,
"function_hash": "307444583308020639014663628111494753137"
},
"target": {
"file": "crypto/dsa/dsa_check.c",
"function": "ossl_dsa_check_params"
},
"deprecated": false,
"id": "CVE-2024-4603-e6a5924e",
"signature_version": "v1",
"signature_type": "Function",
"source": "https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e"
}
]