Botan — это библиотека шифрования C++. В версии 3.11.0 функция Certificate_Store::certificate_known имела вводящее в заблуждение имя; он вернет true, если какой-либо сертификат в хранилище имеет DN (и идентификатор ключа субъекта, если он установлен), соответствующий DN аргумента. Он не проверял, что найденный им сертификат и переданный ему сертификат на самом деле являются одним и тем же сертификатом.
В версии 3.11.0 было сделано расширение логики проверки пути, которое предполагало, что certificate_known возвращает true только в том случае, если сертификаты фактически идентичны. В результате, если представлен сертификат конечного объекта и его DN (и идентификатор ключа субъекта, если он установлен) совпадают с DN любого доверенного корня, сертификат конечного объекта принимается немедленно, как если бы он сам был доверенным корнем. , Эта уязвимость исправлена в версии 3.11.1.
Показать оригинальное описание (EN)
Botan is a C++ cryptography library. In 3.11.0, the function Certificate_Store::certificate_known had a misleading name; it would return true if any certificate in the store had a DN (and subject key identifier, if set) matching that of the argument. It did not check that the cert it found and the cert it was passed were actually the same certificate. In 3.11.0 an extension of path validation logic was made which assumed that certificate_known only returned true if the certificates were in fact identical. The impact is that if an end entity certificate is presented, and its DN (and subject key identifier, if set) match that of any trusted root, the end entity certificate is accepted immediately as if it itself were a trusted root. , This vulnerability is fixed in 3.11.1.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Botan_Project Botan
cpe:2.3:a:botan_project:botan:3.11.0:*:*:*:*:*:*:*
|
— | — |