CVE-2026-58101
Awaiting Analysis Awaiting Analysis - Queue

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

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

Publication date: 2026-07-13

Last updated on: 2026-07-14

Assigner: CPANSec

Description

Crypt::OpenSSL::X509 versions before 2.1.3 for Perl allow denial of service via NULL pointer dereference. X509V3_EXT_d2i(ext) returns NULL when an extension's DER value fails to parse. basicC, ia5string, and auth_att dereference its result without a NULL check. keyid_data also dereferences akid->keyid, which is NULL for an empty AKI SEQUENCE (DER 30 00) even when the parse succeeds. A caller invoking an affected helper on an extension from an untrusted certificate triggers a SIGSEGV that crashes the Perl process.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-13
Last Modified
2026-07-14
Generated
2026-08-03
AI Q&A
2026-07-14
EPSS Evaluated
2026-08-01
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
crypt_openssl x509 to 2.1.3 (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-58101 is a vulnerability in the Crypt::OpenSSL::X509 Perl module, specifically affecting versions before 2.1.3. The issue involves a NULL pointer dereference that can lead to a denial of service (DoS) attack.

The vulnerability occurs when the function X509V3_EXT_d2i(ext) returns NULL because an extension's DER (Distinguished Encoding Rules) value fails to parse correctly. Several helper functionsβ€”basicC, ia5string, auth_att, and keyid_dataβ€”dereference this NULL result without performing a NULL check. This unconditional dereference causes a segmentation fault (SIGSEGV), crashing the Perl process.

Additionally, the keyid_data function dereferences akid->keyid, which can be NULL if the AKI (Authority Key Identifier) SEQUENCE is empty (e.g., DER 30 00), even if the parse itself succeeds. An attacker can exploit this by supplying a malformed or untrusted certificate containing such extensions, triggering the crash.

Detection Guidance

Detecting this vulnerability on your network or system involves checking for the presence of vulnerable versions of Crypt::OpenSSL::X509 for Perl. Since the vulnerability causes a segmentation fault (SIGSEGV) when processing malformed certificates, you can attempt to trigger the issue in a controlled environment to verify its presence.

  • Check the installed version of Crypt::OpenSSL::X509. If it is before 2.1.3, the system is vulnerable. You can use the following Perl command to check the version: perl -MCrypt::OpenSSL::X509 -e 'print $Crypt::OpenSSL::X509::VERSION'
  • Test for the vulnerability by attempting to parse a malformed certificate that triggers the NULL pointer dereference. This should be done in a controlled environment, such as a test system, to avoid crashing production services. Example command to test with OpenSSL: openssl x509 -in malformed_cert.pem -text -noout. If the Perl process crashes with a SIGSEGV, the vulnerability is present.
  • Monitor system logs for segmentation faults (SIGSEGV) in Perl processes that handle X.509 certificates. Look for crash reports or core dumps associated with Perl or applications using Crypt::OpenSSL::X509.

Note: Testing for the vulnerability by triggering a crash should only be performed in a safe, isolated environment to avoid disrupting critical services.

Impact Analysis

This vulnerability can impact you in the following ways:

  • Denial of Service (DoS): If your application uses Crypt::OpenSSL::X509 to process untrusted certificates (e.g., in a web server, API, or certificate validation service), an attacker could craft a malicious certificate to crash the Perl process. This could disrupt services, leading to downtime or degraded performance.
  • Security Decision Bypass: The basicC helper function is responsible for enforcing CA (Certificate Authority) and pathLen constraints. If this function crashes due to a NULL dereference, security checks may fail or be bypassed, potentially allowing invalid or malicious certificates to be accepted.
  • Memory Leak: The auth_att function contains a pre-existing memory leak where the AUTHORITY_KEYID structure is never freed. While not directly exploitable, this could lead to memory exhaustion over time, further degrading system performance.
  • Process Instability: Any Perl application relying on the affected module could experience unexpected crashes when processing malformed certificates, leading to unreliable or unstable behavior.
Compliance Impact

This vulnerability can affect compliance with common standards and regulations in the following ways:

  • GDPR (General Data Protection Regulation): If the vulnerability leads to a denial of service (DoS) attack that disrupts services handling personal data, it could violate GDPR's requirements for availability and resilience of processing systems (Article 32). Additionally, if the crash results in unauthorized access or exposure of personal data, it may constitute a breach under GDPR, requiring notification to authorities and affected individuals.
  • HIPAA (Health Insurance Portability and Accountability Act): For organizations handling protected health information (PHI), a DoS attack caused by this vulnerability could disrupt access to critical systems, violating HIPAA's Security Rule requirements for ensuring the availability of electronic PHI (ePHI). If the crash leads to unauthorized access or disclosure of PHI, it may also trigger breach notification obligations under the HIPAA Breach Notification Rule.
  • PCI DSS (Payment Card Industry Data Security Standard): If the affected system processes payment card data, a DoS attack could disrupt transaction processing or compromise the security of cardholder data. PCI DSS requires systems to be protected against known vulnerabilities (Requirement 6.2), and failure to patch this issue could result in non-compliance.
  • ISO 27001: This standard requires organizations to manage information security risks, including vulnerabilities that could lead to system failures or unauthorized access. A failure to address this vulnerability could result in non-conformity with ISO 27001 controls related to vulnerability management (A.12.6.1) and system availability (A.12.1.3).

In summary, while the vulnerability itself does not directly violate these regulations, its exploitation could lead to scenarios (e.g., service disruption, data exposure) that result in non-compliance. Organizations should patch the vulnerability to mitigate these risks and maintain compliance.

Mitigation Strategies

To mitigate this vulnerability, follow these immediate steps:

  • Upgrade Crypt::OpenSSL::X509 to version 2.1.3 or later. This version includes the patch that fixes the NULL pointer dereference issue. You can update the module using CPAN: cpan Crypt::OpenSSL::X509
  • If upgrading is not immediately possible, apply the patch provided in Resource 1 to the affected version of Crypt::OpenSSL::X509. The patch addresses the NULL dereference in the helper functions (basicC, ia5string, auth_att, and keyid_data).
  • Restrict access to systems or applications that use Crypt::OpenSSL::X509 to process untrusted certificates. Limit exposure to potential attack vectors by ensuring only trusted certificates are processed.
  • Monitor Perl processes handling X.509 certificates for crashes or unexpected terminations. Implement logging and alerting to detect potential exploitation attempts.
  • Review and validate all X.509 certificates processed by your systems to ensure they are well-formed and do not contain malformed extensions that could trigger the vulnerability.

Chat Assistant

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

EPSS Chart