Tomas Mraz
1c16253f3c
DH_check(): Do not try checking q properties if it is obviously invalid
...
If |q| >= |p| then the q value is obviously wrong as q
is supposed to be a prime divisor of p-1.
We check if p is overly large so this added test implies that
q is not large either when performing subsequent tests using that
q value.
Otherwise if it is too large these additional checks of the q value
such as the primality test can then trigger DoS by doing overly long
computations.
Fixes CVE-2023-3817
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21550 )
2023-07-27 09:48:22 -04:00
..
2023-07-18 18:54:45 +10:00
2022-05-24 14:11:20 +10:00
2023-07-12 10:50:09 +10:00
2022-10-05 14:02:03 +02:00
2023-01-31 11:10:22 +11:00
2023-07-25 12:38:31 +02:00
2023-06-26 08:07:55 +10:00
2022-10-05 14:02:03 +02:00
2022-05-24 13:16:06 +10:00
2023-01-31 11:10:22 +11:00
2023-03-29 12:21:31 +02:00
2023-06-12 08:36:08 +02:00
2023-07-17 08:48:36 +10:00
2023-07-18 20:41:17 +02:00
2022-11-07 11:23:13 +01:00
2023-06-30 16:56:02 +02:00
2023-05-30 22:02:10 +02:00
2022-10-05 14:02:03 +02:00
2023-01-31 11:10:22 +11:00
2023-07-27 09:48:22 -04:00
2023-07-05 08:34:00 +10:00
2023-07-01 21:18:25 +10:00
2023-07-14 08:44:26 +10:00
2023-07-17 08:12:06 +10:00
2023-07-01 21:18:08 +10:00
2023-07-18 20:37:52 +02:00
2022-10-05 14:02:03 +02:00
2023-07-18 18:54:45 +10:00
2023-04-03 10:31:04 +02:00
2021-06-23 23:00:36 +02:00
2023-06-15 10:11:46 +10:00
2023-07-14 12:04:38 +02:00
2023-01-31 11:10:22 +11:00
2022-10-07 10:05:50 +02:00
2023-01-31 11:10:22 +11:00
2023-01-31 11:10:22 +11:00
2023-04-28 14:36:35 +02:00
2023-01-31 11:10:22 +11:00
2023-07-06 12:53:27 +10:00
2023-06-29 09:29:56 +10:00
2023-01-31 11:05:51 +11:00
2023-02-07 17:05:10 +01:00
2023-07-06 12:53:27 +10:00
2023-05-30 22:02:10 +02:00
2023-06-15 10:11:46 +10:00
2023-07-18 18:54:45 +10:00
2023-02-22 10:03:14 +11:00
2023-06-14 09:03:14 +10:00
2023-01-31 11:10:22 +11:00
2023-06-15 10:11:46 +10:00
2023-01-31 11:10:22 +11:00
2023-01-31 11:10:22 +11:00
2023-07-17 08:15:06 +10:00
2023-01-31 11:10:22 +11:00
2023-07-14 11:15:45 +10:00
2022-10-12 16:55:01 +11:00
2023-06-13 13:37:33 +02:00
2023-05-31 10:50:28 +10:00
2023-06-15 10:11:46 +10:00
2022-10-20 19:04:44 +11:00
2023-04-28 09:24:06 +02:00
2023-07-01 21:18:25 +10:00
2023-07-06 12:55:21 +10:00
2022-10-12 16:55:01 +11:00
2023-06-10 19:23:59 -04:00
2023-05-17 12:07:02 +02:00
2023-07-18 18:54:45 +10:00
2023-07-25 17:02:20 +02:00
2022-05-03 13:34:51 +01:00
2023-07-21 10:19:19 +10:00
2023-07-21 10:19:19 +10:00
2023-03-29 12:21:31 +02:00
2021-04-08 13:04:41 +01:00
2023-06-02 15:13:20 +10:00
2023-07-17 08:12:06 +10:00
2022-10-05 14:02:03 +02:00
2022-07-20 07:28:17 +01:00
2023-06-18 16:55:09 +10:00
2022-01-12 20:10:21 +11:00
2022-05-03 13:34:51 +01:00
2023-04-13 10:25:55 +01:00
2023-01-04 12:53:05 +01:00
2022-06-27 10:58:40 +02:00
2023-06-15 10:11:46 +10:00
2022-05-03 13:34:51 +01:00
2023-05-30 17:26:02 +01:00
2022-05-03 13:34:51 +01:00
2023-01-10 12:15:42 +01:00
2022-10-18 09:30:21 -04:00
2022-05-03 13:34:51 +01:00
2022-10-12 18:02:12 +11:00
2022-10-12 18:02:12 +11:00
2022-10-12 18:02:12 +11:00
2023-06-06 15:48:46 +02:00
2023-06-12 07:56:03 +02:00
2022-08-27 09:40:09 +02:00
2022-05-03 13:34:51 +01:00
2022-10-12 16:55:01 +11:00
2022-05-03 13:34:51 +01:00
2022-10-05 14:02:03 +02:00
2021-03-11 13:27:36 +00:00
2023-02-08 16:20:55 +01:00
2022-05-03 13:34:51 +01:00
2023-06-15 10:11:46 +10:00
2022-10-05 14:02:03 +02:00
2022-10-05 14:02:03 +02:00
2023-06-02 15:13:20 +10:00
2023-05-22 07:45:10 +01:00
2022-10-05 14:02:03 +02:00
2022-05-03 13:34:51 +01:00
2022-05-03 13:34:51 +01:00
2023-02-01 08:20:08 +11:00
2022-10-05 14:02:03 +02:00
2023-07-17 08:12:06 +10:00
2021-06-24 14:48:15 +01:00
2021-06-24 14:48:15 +01:00
2022-10-05 14:02:03 +02:00
2023-02-08 16:17:37 +01:00
2023-01-13 13:20:16 +00:00
2022-09-05 10:20:30 +10:00
2022-05-19 16:32:49 +10:00
2022-05-19 16:32:49 +10:00
2023-03-07 18:21:51 +01:00
2023-06-28 08:31:07 +10:00
2022-05-03 13:34:51 +01:00
2023-05-30 21:10:03 +02:00
2021-07-15 09:33:04 +02:00
2022-07-22 14:42:13 +02:00
2022-11-14 07:47:53 +00:00
2023-05-24 10:34:54 +01:00
2023-05-24 10:34:54 +01:00
2023-05-24 10:34:55 +01:00
2023-04-13 10:25:55 +01:00
2023-01-26 09:16:51 +01:00
2023-07-12 10:50:09 +10:00
2021-04-08 13:04:41 +01:00