CVE-2026-8507
CriticalSummary
Crypt::OpenSSL::PKCS12 versions through 1.94 for Perl have out-of-bounds (OOB) write flaws. When parsing a PKCS12 file with a >= 1 GiB OCTET STRING (or BIT STRING) attribute, a heap out-of-bounds write could be triggered, leading to remote-code-execution potential (RCE) due to a signed integer overflow in the size calculation passed to Renew().
Risk Assessment
Organizations may be exposed to remote code execution, which can lead to serious security breaches and data loss. Exploitation of this vulnerability could allow attackers to gain control over the system.
Recommendation
It is recommended to upgrade to the latest version of Crypt::OpenSSL::PKCS12 to mitigate this vulnerability. Additionally, systems should be monitored for unauthorized activities and a security audit should be conducted.
Other vulnerabilities in Crypt::OpenSSL::PKCS12
See all- CVE-2026-9265Critical
Crypt::OpenSSL::PKCS12 versions before 1.96 for Perl allow a heap OOB read in print_attribute for UTF8STRING attributes. The print_attribute() function copies an ASN.1 attribute value into a memory buffer without adding a NUL terminator, leading to unsafe reads of adjacent bytes.
- CVE-2026-8721Critical
Crypt::OpenSSL::PKCS12 versions through 1.94 for Perl truncates passwords with embedded NULLs. Password parameters in PKCS12.xs are declared char *, which leads to the loss of password length in Perl.
- CVE-2026-17510High
In the Crypt::OpenSSL::PKCS12 library for Perl before version 1.98, there is a NULL pointer dereference vulnerability in the print_attribute function when handling a zero-length BMPSTRING attribute. The zero length causes the buffer to be freed and return NULL, and a subsequent strlen call on that pointer crashes the process.
Original NVD description (English source)
Crypt::OpenSSL::PKCS12 versions through 1.94 for Perl have out-of-bounds (OOB) write flaws. When parsing a PKCS12 file, with a >= 1 GiB OCTET STRING (or BIT STRING) attribute on a SAFEBAG, via info() or info_as_hash(), a heap out-of-bounds write would be triggered with remote-code-execution potential (RCE) due to a signed integer overflow in the size calculation passed to Renew().
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

