Краткое описание проблемы: проверка ответа OpenSSL CMP прошла неожиданный ответ
Отличительное имя отправителя непосредственно в качестве строки формата для `ERR_raise_data()`. Краткое описание последствий: вредоносная или перехваченная конечная точка CMP может привести к сбою клиента CMP.
который обеспечивает ожидаемого отправителя или использует закрепленный сертификат сервера,
субъект становится ожидаемым отправителем по умолчанию. CWE: CWE-134 (использование строки формата, управляемой извне)
Описание.
При проверке полученного сообщения CMP вызывается ossl_cmp_msg_check_update().
преобразует отличительное имя отправителя, предоставленное партнером, с помощью X509_NAME_oneline()
и передает его непосредственно в качестве аргумента формата в ERR_raise_data(). Процент
символы сохраняются после преобразования, поэтому DN отправителя, например "CN=%s%n", достигает
BIO_vsnprintf() как строка формата, контролируемая злоумышленником, без соответствующего вариативного числа
аргументы. Этот путь достигается только тогда, когда вызывающая сторона настраивает ожидаемый
отправитель или прикрепляет сертификат сервера, что является обычной конфигурацией для
Клиент CMP проверяет ответы сервера.
Поскольку злоумышленник контролирует строку формата, но ни один из вариантов аргументы, такие спецификаторы, как %s и %n, разыменовываются или записываются через несвязанные содержимое стека и привести к сбою клиента. Надежным последствием является отрицание службы, когда ответ приходит от вредоносной или перехваченной конечной точки CMP. Нет контролируемой записи в память, чтения произвольного адреса или надежного пути. для удаленного выполнения кода.
Влияние FIPS: нет
Эта проблема не затрагивает модули FIPS, поскольку протокол CMP
реализация находится за пределами модуля OpenSSL FIPS.
Показать оригинальное описание (EN)
Issue summary: OpenSSL CMP response validation passed an unexpected response sender distinguished name directly as the format string to `ERR_raise_data()`. Impact summary: A malicious or intercepted CMP endpoint can crash a CMP client that enforces an expected sender or uses a pinned server certificate whose subject becomes the default expected sender. CWE: CWE-134 (Use of Externally-Controlled Format String) Description: When validating a received CMP message, ossl_cmp_msg_check_update() converts the peer-supplied sender distinguished name with X509_NAME_oneline() and passes it directly as the format argument to ERR_raise_data(). Percent characters survive the conversion, so a sender DN such as "CN=%s%n" reaches BIO_vsnprintf() as an attacker-controlled format string with no matching variadic arguments. This path is only reached when the caller configures an expected sender or pins a server certificate, which is the normal configuration for a CMP client validating server responses. Since the attacker controls the format string but none of the variadic arguments, such specifiers as %s and %n dereference or write through unrelated stack contents and crash the client. The reliable consequence is a denial of service, when the response comes from a malicious or intercepted CMP endpoint. There is no controlled memory write, arbitrary-address read, or reliable path to remote code execution. FIPS impact: no No FIPS modules are affected by this issue, as the CMP protocol implementation is outside the OpenSSL FIPS module boundary.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 4
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.4.0
|
3.4.7
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.5.0
|
3.5.8
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.6.0
|
3.6.4
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
4.0.0
|
4.0.2
|