Viktor Dukhovni 0890cd13d4 Avoid type errors in EAI-related name check logic.
The incorrectly typed data is read only, used in a compare operation, so
neither remote code execution, nor memory content disclosure were possible.
However, applications performing certificate name checks were vulnerable to
denial of service.

The GENERAL_TYPE data type is a union, and we must take care to access the
correct member, based on `gen->type`, not all the member fields have the same
structure, and a segfault is possible if the wrong member field is read.

The code in question was lightly refactored with the intent to make it more
obviously correct.

Fixes CVE-2024-6119

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
2024-09-03 11:58:40 +02:00
..
2024-05-30 18:46:43 +02:00
2023-09-07 09:59:15 +01:00
2024-07-31 09:04:17 +10:00
2023-09-07 09:59:15 +01:00
2024-04-09 13:43:26 +02:00
2024-04-09 13:43:26 +02:00
2024-08-23 21:23:53 +02:00
2024-04-09 13:43:26 +02:00
2024-08-29 10:29:53 +02:00
2024-09-02 10:23:22 +02:00
2024-04-09 13:43:26 +02:00
2024-04-09 13:43:26 +02:00
2024-08-26 10:38:44 +01:00
2024-08-29 10:29:53 +02:00
2024-07-22 06:55:35 -04:00
2024-08-29 10:29:53 +02:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2024-08-29 10:29:53 +02:00
2024-08-29 10:29:53 +02:00
2023-09-28 14:23:29 +01:00
2024-04-09 13:43:26 +02:00
2024-07-22 06:55:35 -04:00
2023-09-07 09:59:15 +01:00
2024-08-29 10:29:53 +02:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2022-05-03 13:34:51 +01:00
2024-04-09 13:43:26 +02:00
2023-09-07 09:59:15 +01:00
2024-07-11 08:29:43 +10:00
2024-07-11 08:29:43 +10:00
2023-09-28 14:23:29 +01:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2024-08-07 19:09:43 +02:00
2022-05-03 13:34:51 +01:00
2022-05-03 13:34:51 +01:00
2024-07-11 08:29:43 +10:00
2024-04-09 13:43:26 +02:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2022-05-03 13:34:51 +01:00
2022-05-03 13:34:51 +01:00
2023-09-07 09:59:15 +01:00
2023-12-29 10:21:10 +01:00
2024-04-09 13:43:26 +02:00
2024-05-30 18:38:12 +02:00
2022-05-03 13:34:51 +01:00
2023-09-07 09:59:15 +01:00
2024-07-11 08:29:43 +10:00
2023-09-07 09:59:15 +01:00
2023-09-07 09:59:15 +01:00
2024-04-09 13:43:26 +02:00
2023-09-07 09:59:15 +01:00
2024-04-04 08:34:17 +02:00
2023-09-07 09:59:15 +01:00
2023-09-11 10:15:30 +02:00
2023-09-07 09:59:15 +01:00