]> git.ipfire.org Git - thirdparty/openssl.git/commit
Limit the execution time of RSA public key check
authorTomas Mraz <tomas@openssl.org>
Fri, 22 Dec 2023 15:25:56 +0000 (16:25 +0100)
committerTomas Mraz <tomas@openssl.org>
Mon, 15 Jan 2024 09:54:34 +0000 (10:54 +0100)
commite09fc1d746a4fd15bb5c3d7bbbab950aadd005db
treea5355086a070e72c0862e296810731a5e924003c
parent486ab0fb003d05f89620662260486d31bd3faa8c
Limit the execution time of RSA public key check

Fixes CVE-2023-6237

If a large and incorrect RSA public key is checked with
EVP_PKEY_public_check() the computation could take very long time
due to no limit being applied to the RSA public key size and
unnecessarily high number of Miller-Rabin algorithm rounds
used for non-primality check of the modulus.

Now the keys larger than 16384 bits (OPENSSL_RSA_MAX_MODULUS_BITS)
will fail the check with RSA_R_MODULUS_TOO_LARGE error reason.
Also the number of Miller-Rabin rounds was set to 5.

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23243)
crypto/rsa/rsa_sp800_56b_check.c
test/recipes/91-test_pkey_check.t
test/recipes/91-test_pkey_check_data/rsapub_17k.pem [new file with mode: 0644]