CVE-2026-39855

MEDIUM CVSS 3.1: 5,5 EPSS 0.02%
Обновлено 17 апреля 2026
Osslsigncode_Project
Параметр Значение
CVSS 5,5 (MEDIUM)
Уязвимые версии до 2.13
Устранено в версии 2.13
Тип уязвимости CWE-125 (Чтение за пределами буфера), CWE-190 (Целочисленное переполнение), CWE-191 (Целочисленное переполнение вниз)
Поставщик Osslsigncode_Project
Публичный эксплойт Нет

osslsigncode — это инструмент, который реализует подпись и метку времени Authenticode. До версии 2.13 уязвимость, связанная с потерей целочисленного значения, существовала в osslsigncode версии 2.12 и более ранних версиях в коде вычисления хэша страницы PE (pe_page_hash_calc()). Когда обработка хэша страницы выполняется над PE-файлом, функция вычитает размер hdrsize из размера страницы без предварительной проверки того, что размер страницы >= hdrsize.

Если вредоносный PE-файл устанавливает SizeOfHeaders (hdrsize) больше, чем DivisionAlignment (pagesize), вычитание приводит к потере значения и приводит к очень большой беззнаковой длине. Код выделяет заполненный нулями буфер байтов размера страницы, а затем пытается хэшировать байты размера страницы - hdrsize из этого буфера. После опустошения это приводит к чтению из кучи за пределами допустимого диапазона и может привести к сбою процесса.

Уязвимость может возникнуть при подписании вредоносного PE-файла с включенным хешированием страниц (-ph) или при проверке вредоносного подписанного PE-файла, который уже содержит хэши страниц. Проверка уже подписанного файла не требует от проверяющего передать -ph. Эта уязвимость исправлена ​​в версии 2.13.

Показать оригинальное описание (EN)

osslsigncode is a tool that implements Authenticode signing and timestamping. Prior to 2.13, an integer underflow vulnerability exists in osslsigncode version 2.12 and earlier in the PE page-hash computation code (pe_page_hash_calc()). When page hash processing is performed on a PE file, the function subtracts hdrsize from pagesize without first validating that pagesize >= hdrsize. If a malicious PE file sets SizeOfHeaders (hdrsize) larger than SectionAlignment (pagesize), the subtraction underflows and produces a very large unsigned length. The code allocates a zero-filled buffer of pagesize bytes and then attempts to hash pagesize - hdrsize bytes from that buffer. After the underflow, this results in an out-of-bounds read from the heap and can crash the process. The vulnerability can be triggered while signing a malicious PE file with page hashing enabled (-ph), or while verifying a malicious signed PE file that already contains page hashes. Verification of an already signed file does not require the verifier to pass -ph. This vulnerability is fixed in 2.13.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Требуется
Нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
Osslsigncode_Project Osslsigncode
cpe:2.3:a:osslsigncode_project:osslsigncode:*:*:*:*:*:*:*:*
2.13