Функция BN_mod_sqrt(), которая вычисляет модульный квадратный корень, содержит ошибку, которая может привести к бесконечному циклу для непр…
Функция BN_mod_sqrt(), которая вычисляет модульный квадратный корень, содержит ошибку, которая может привести к бесконечному циклу для непростых модулей. Внутри эта функция используется при анализе сертификатов, содержащих открытые ключи эллиптической кривой в сжатой форме, или явные параметры эллиптической кривой с базовой точкой, закодированной в сжатой форме. Можно вызвать бесконечный цикл, создав сертификат с недействительными явными параметрами кривой. Поскольку анализ сертификата происходит до проверки подписи сертификата, любой процесс, анализирующий сертификат, предоставленный извне, может быть подвержен DoS-атаке. Бесконечный цикл также может быть достигнут при анализе созданных закрытых ключей, поскольку они могут содержать явные параметры эллиптической кривой. Таким образом, уязвимые ситуации включают: - TLS-клиенты, потребляющие сертификаты сервера - TLS-серверы, потребляющие сертификаты клиента - Хостинг-провайдеры, принимающие сертификаты или закрытые ключи от клиентов - Центры сертификации, анализирующие запросы на сертификацию от подписчиков - Все остальное, что анализирует параметры ASN.1 эллиптической кривой Также любые другие приложения, которые используют BN_mod_sqrt(), где злоумышленник может контролировать значения параметров, уязвимы для этой DoS-проблемы. В версии OpenSSL 1.0.2 открытый ключ не анализируется во время начального анализа сертификата, что немного затрудняет запуск бесконечного цикла. Однако любая операция, требующая открытого ключа из сертификата, вызовет бесконечный цикл. В частности, злоумышленник может использовать самоподписанный сертификат для запуска цикла во время проверки подписи сертификата. Эта проблема затрагивает версии OpenSSL 1.0.2, 1.1.1 и 3.0. Она была решена в выпусках 1.1.1n и 3.0.2 15 марта 2022 года. Исправлено в OpenSSL 3.0.2 (затронуты 3.0.0,3.0.1). Исправлено в OpenSSL 1.1.1n (затронуты 1.1.1-1.1.1m). Исправлено в OpenSSL 1.0.2zd (затронуты 1.0.2-1.0.2zc).
Продукт содержит итерацию или цикл с условием выхода, которое не может быть достигнуто, то есть бесконечный цикл.
https://cwe.mitre.org/data/definitions/835.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| compat-openssl10 | Отслеживается | |
| compat-openssl11 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| edk2 | Отслеживается | |
| jbcs-httpd24-apr-util | Отслеживается | |
| jbcs-httpd24-apr-util | Отслеживается | |
| jbcs-httpd24-curl | Отслеживается | |
| jbcs-httpd24-curl | Отслеживается | |
| jbcs-httpd24-httpd | Отслеживается |