CVE-2026-17510 in Crypt::OpenSSL::PKCS12Информация

Сводка

по VulDB • 09.08.2026

В версиях Crypt::OpenSSL::PKCS12 для Perl старше 1.98 возможна ошибка разыменования нулевого указателя (NULL pointer dereference) в функции print_attribute при использовании атрибута BMPSTRING с длиной, равной нулю.

Функция `print_attribute()` выделяет буфер назначения для атрибута BMPSTRING на основе его заявленной длины байт с помощью вызова `Renew(*attribute, length, char)`. Атрибут нулевой длины приводит к попытке перераспределения памяти размером ноль, что в реализации Perl интерпретируется как операция free, возвращающая NULL. В результате указатель на буфер становится равным NULL; последующая функция `strncpy` не копирует никаких данных, а вызывающий код выполняет разыменование нулевого указателя при передаче его в функцию `strlen()`, которая используется внутри `newSVpvn()`. Атрибут BMPSTRING с длиной ноль имеет четную длину (в символах), поэтому декодер ASN.1 принимает его, и значение достигает данного участка кода. Ветви обработки UTF8STRING, OCTET STRING и BIT STRING выделяют память на основе выражений `length + 1` или `length * 4 + 1`, поэтому они не затронуты данной уязвимостью.

Любой вызывающий код, передающий недоверенный файл PKCS#12 в функцию info_as_hash(), может вызвать аварийное завершение процесса (crash). Функция info() выводит значения атрибутов напрямую без предварительного выделения буфера и не подвержена данной уязвимости.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

CPANSec

Резервировать

27.07.2026

Раскрытие

09.08.2026

Модерация

принято

Вход

VDB-387231

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!