CVE-2026-17510
Received Received - Intake

NULL Pointer Dereference in Crypt::OpenSSL::PKCS12 Perl Module

Vulnerability report for CVE-2026-17510, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-09

Last updated on: 2026-08-09

Assigner: CPANSec

Description

Crypt::OpenSSL::PKCS12 versions before 1.98 for Perl allow a NULL pointer dereference in print_attribute via a zero length BMPSTRING attribute. print_attribute() sizes the destination buffer for a BMPSTRING attribute from its declared byte length with `Renew(*attribute, length, char)`. A zero length attribute makes that a zero size reallocation, which Perl implements as a free returning NULL, so the buffer pointer becomes NULL, the following `strncpy` copies nothing, and the caller dereferences NULL in the `strlen()` it passes to `newSVpvn()`. A zero length BMPSTRING is even length, so the ASN.1 decoder accepts it and the value reaches this code. The UTF8STRING, OCTET STRING and BIT STRING arms size on `length + 1` or `length * 4 + 1` and are unaffected. Any caller that passes an untrusted PKCS#12 file to info_as_hash() can crash the process. info() prints attribute values directly without sizing a buffer and is unaffected.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-09
Last Modified
2026-08-09
Generated
2026-08-09
AI Q&A
2026-08-09
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
dsully perl_crypt_openssl_pkcs12 to 1.98 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-476 The product dereferences a pointer that it expects to be valid but is NULL.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-17510 is a NULL pointer dereference vulnerability in Crypt::OpenSSL::PKCS12 versions before 1.98 for Perl. It occurs when processing a zero-length BMPSTRING attribute in a PKCS#12 file. The print_attribute function incorrectly handles this case by freeing the buffer and returning NULL, which later causes a crash when the code attempts to use the NULL pointer.

Detection Guidance

To detect this vulnerability, inspect Perl applications using Crypt::OpenSSL::PKCS12 versions before 1.98. Check for crashes when processing PKCS#12 files with empty BMPSTRING attributes. Use static analysis tools to find NULL pointer dereferences in print_attribute functions.

Impact Analysis

If you process untrusted PKCS#12 files using affected versions of Crypt::OpenSSL::PKCS12, an attacker could craft a malicious file to crash your application. This could lead to denial of service or potentially allow further exploitation depending on the application context.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR or HIPAA as it is a low-level programming error causing crashes rather than a data breach or privacy violation. However, if exploited, it could lead to denial-of-service attacks on systems handling PKCS#12 files, potentially disrupting services that process sensitive data.

Mitigation Strategies

Upgrade Crypt::OpenSSL::PKCS12 to version 1.98 or later. Avoid processing untrusted PKCS#12 files until patched. Implement input validation for PKCS#12 files to reject malformed BMPSTRING attributes.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-17510. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart