wolfSSL_X509_verify_cert на уровне совместимости OpenSSL принимает цепочку сертификатов, в которой подпись листа не проверяется, если злоумышленник предоставляет ненадежный промежуточный продукт с базовыми ограничениями `CA:FALSE`, который законно подписан доверенным корнем. Злоумышленник, получивший любой листовой сертификат от доверенного центра сертификации (например, бесплатный сертификат DV от Let's Encrypt), может подделать сертификат для любого имени субъекта с любым открытым ключом и произвольными байтами подписи, и функция вернет `WOLFSSL_SUCCESS` / `X509_V_OK`. Собственный путь подтверждения wolfSSL TLS («ProcessPeerCerts») не подвержен уязвимости, и проблема ограничивается приложениями, напрямую использующими API совместимости OpenSSL, что включает интеграцию wolfSSL в nginx и haproxy.
Показать оригинальное описание (EN)
wolfSSL_X509_verify_cert in the OpenSSL compatibility layer accepts a certificate chain in which the leaf's signature is not checked, if the attacker supplies an untrusted intermediate with Basic Constraints `CA:FALSE` that is legitimately signed by a trusted root. An attacker who obtains any leaf certificate from a trusted CA (e.g. a free DV cert from Let's Encrypt) can forge a certificate for any subject name with any public key and arbitrary signature bytes, and the function returns `WOLFSSL_SUCCESS` / `X509_V_OK`. The native wolfSSL TLS handshake path (`ProcessPeerCerts`) is not susceptible and the issue is limited to applications using the OpenSSL compatibility API directly, which would include integrations of wolfSSL into nginx and haproxy.
Характеристики атаки
Последствия
Строка CVSS v4.0