Cap the size of numbers we check for primality
authortb <tb@openbsd.org>
Thu, 20 Jul 2023 06:26:27 +0000 (06:26 +0000)
committertb <tb@openbsd.org>
Thu, 20 Jul 2023 06:26:27 +0000 (06:26 +0000)
commit050d837a6cf064b603a4b238874fb149634381d3
treeb6c5effe7055cfb035c9760960c70d1f033f97f7
parent646fc28444d8804fc8acf76257608fab5f43c05c
Cap the size of numbers we check for primality

We refuse to generate RSA keys larger than 16k and DH keys larger than 10k.
Primality checking with adversarial input is a DoS vector, so simply don't
do this. Introduce a cap of 32k for numbers we try to test for primality,
which should be more than large enough for use withing a non-toolkit crypto
library. This is one way of mitigating the DH_check()/EVP_PKEY_param_check()
issue.

ok jsing miod
lib/libcrypto/bn/bn_prime.c