Краткое описание проблемы: в сигнатуре существует уязвимость, приводящая к путанице типов.
проверка подписанных данных PKCS#7, где является членом объединения ASN1_TYPE
доступ без предварительной проверки типа, что приводит к недопустимому или NULL
Разыменование указателя при обработке неверных данных PKCS#7. Краткое описание воздействия: приложение, выполняющее проверку подписи PKCS#7.
данных или напрямую вызвать функцию PKCS7_digest_from_attributes().
вызывает разыменование недопустимого или NULL-указателя при чтении, что приводит к
отказ в обслуживании. Функция PKCS7_digest_from_attributes() обращается к атрибуту дайджеста сообщения.
значение без проверки его типа.
Если тип не V_ASN1_OCTET_STRING, это приводит к доступу к недопустимой памяти через объединение ASN1_TYPE, вызывая авария. Для использования этой уязвимости злоумышленнику необходимо предоставить неверный подписал PKCS#7 в приложении, которое его проверяет. Влияние эксплойт — это просто отказ в обслуживании, API PKCS7 является устаревшим, а приложения вместо этого следует использовать CMS API.
По этим причинам вопрос был
оценен как низкая степень тяжести. Модули FIPS версий 3.5, 3.4, 3.3 и 3.0 не затронуты этой проблемой.
поскольку реализация синтаксического анализа PKCS#7 находится за пределами модуля OpenSSL FIPS
граница.
OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, 1.1.1 и 1.0.2 уязвимы для этой проблемы.
Показать оригинальное описание (EN)
Issue summary: A type confusion vulnerability exists in the signature verification of signed PKCS#7 data where an ASN1_TYPE union member is accessed without first validating the type, causing an invalid or NULL pointer dereference when processing malformed PKCS#7 data. Impact summary: An application performing signature verification of PKCS#7 data or calling directly the PKCS7_digest_from_attributes() function can be caused to dereference an invalid or NULL pointer when reading, resulting in a Denial of Service. The function PKCS7_digest_from_attributes() accesses the message digest attribute value without validating its type. When the type is not V_ASN1_OCTET_STRING, this results in accessing invalid memory through the ASN1_TYPE union, causing a crash. Exploiting this vulnerability requires an attacker to provide a malformed signed PKCS#7 to an application that verifies it. The impact of the exploit is just a Denial of Service, the PKCS7 API is legacy and applications should be using the CMS API instead. For these reasons the issue was assessed as Low severity. The FIPS modules in 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the PKCS#7 parsing implementation is outside the OpenSSL FIPS module boundary. OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, 1.1.1 and 1.0.2 are vulnerable to this issue.
Характеристики атаки
Последствия
Строка CVSS v3.1