osslsigncode — это инструмент, который реализует подпись и метку времени Authenticode. До версии 2.12 в osslsigncode существовала уязвимость переполнения стекового буфера в нескольких путях проверки подписи. Во время проверки подписи PKCS#7 код копирует значение дайджеста из проанализированной структуры SpcIndirectDataContent в буфер стека фиксированного размера (mdbuf[EVP_MAX_MD_SIZE], 64 байта) без проверки соответствия длины источника внутри буфера назначения.
Этот шаблон присутствует в обработчиках проверки для файлов PE, MSI, CAB и сценариев. Злоумышленник может создать вредоносный подписанный файл с слишком большим полем дайджеста в SpcIndirectDataContent. Когда пользователь проверяет такой файл с помощью проверки osslsigncode, неограниченный memcpy может переполнить буфер стека и повредить состояние соседнего стека.
Эта уязвимость исправлена в версии 2.12.
Показать оригинальное описание (EN)
osslsigncode is a tool that implements Authenticode signing and timestamping. Prior to 2.12, A stack buffer overflow vulnerability exists in osslsigncode in several signature verification paths. During verification of a PKCS#7 signature, the code copies the digest value from a parsed SpcIndirectDataContent structure into a fixed-size stack buffer (mdbuf[EVP_MAX_MD_SIZE], 64 bytes) without validating that the source length fits within the destination buffer. This pattern is present in the verification handlers for PE, MSI, CAB, and script files. An attacker can craft a malicious signed file with an oversized digest field in SpcIndirectDataContent. When a user verifies such a file with osslsigncode verify, the unbounded memcpy can overflow the stack buffer and corrupt adjacent stack state. This vulnerability is fixed in 2.12.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Osslsigncode_Project Osslsigncode
cpe:2.3:a:osslsigncode_project:osslsigncode:*:*:*:*:*:*:*:*
|
— |
2.12
|