Краткое описание проблемы. Специально созданное сообщение, подписанное PKCS#7 или S/MIME, могло инициировать использование после освобождения во время проверки подписи PKCS#7. Краткое описание воздействия: использование после освобождения может привести к сбоям процесса, куче повреждение или потенциально удаленное выполнение кода.
При обработке сообщения, подписанного PKCS#7 или S/MIME, если SignedData
Поле DigestAlgorithms присутствует как пустой набор ASN.1, OpenSSL может
неправильно освободить BIO, принадлежащий вызывающему абоненту, во время PKCS7_verify(). Последующий
использование BIO вызывающим приложением приводит к использованию после освобождения
состояние. В общем случае это происходит, когда приложение позже вызывает
BIO_free() в BIO, первоначально переданном в PKCS7_verify().
В зависимости
о поведении распределителя и шаблонах использования BIO для конкретного приложения, это
может привести к сбою или другому повреждению памяти. В каком-то приложении
контекстах это потенциально может быть использовано для удаленного выполнения кода. Приложения, обрабатывающие сообщения, подписанные PKCS#7 или S/MIME, с использованием OpenSSL.
Это может повлиять на API PKCS#7. Приложения, использующие для этого API CMS
обработка не затрагивается. Модули FIPS в версиях 4.0, 3.6, 3.5, 3.4 и 3.0 это не затрагивает.
проблема, поскольку затронутый код находится за пределами модуля OpenSSL FIPS.
Показать оригинальное описание (EN)
Issue summary: A specially crafted PKCS#7 or S/MIME signed message could trigger a use-after-free during PKCS#7 signature verification. Impact summary: A use-after-free may result in process crashes, heap corruption, or potentially remote code execution. When processing a PKCS#7 or S/MIME signed message, if the SignedData digestAlgorithms field is present as an empty ASN.1 SET, OpenSSL may incorrectly free a caller-owned BIO during PKCS7_verify(). A subsequent use of the BIO by the calling application results in a use-after-free condition. In the common case this occurs when the application later calls BIO_free() on the BIO originally passed to PKCS7_verify(). Depending on allocator behavior and application-specific BIO usage patterns, this may result in a crash or other memory corruption. In some application contexts this may potentially be exploitable for remote code execution. Applications that process PKCS#7 or S/MIME signed messages using OpenSSL PKCS#7 APIs may be affected. Applications using the CMS APIs for this processing are not affected. The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 7
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
1.0.2
|
1.0.2zq
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
1.1.1
|
1.1.1zh
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.0.0
|
3.0.21
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.4.0
|
3.4.6
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.5.0
|
3.5.7
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.6.0
|
3.6.3
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:*
|
— | — |