CVE-2026-55599
Received Received - Intake
SSRF in phpseclib via Untrusted X.509 Certificate

Publication date: 2026-06-22

Last updated on: 2026-06-22

Assigner: GitHub, Inc.

Description
phpseclib is a PHP secure communications library. From 0.1.1 until 1.0.30, 2.0.55, and 3.0.54, when an application validates an untrusted X.509 certificate with phpseclib, X509::validateSignature() reads a URL out of that certificate's Authority Information Access (AIA) extension and connects to it. Attacker who supplies certificate fully controls host, port, and path of that connection. URL fetching is enabled by default, and no destination is blocked. An unauthenticated attacker can therefore make a validating server open connections to internal hosts and ports it should never reach, for example loopback 127.0.0.1, cloud metadata address 169.254.169.254, and internal-only services. This is a server-side request forgery (SSRF) caused by an insecure default. This vulnerability is fixed in 1.0.30, 2.0.55, and 3.0.54.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-22
Last Modified
2026-06-22
Generated
2026-06-23
AI Q&A
2026-06-23
EPSS Evaluated
N/A
NVD
Affected Vendors & Products
Showing 4 associated CPEs
Vendor Product Version / Range
phpseclib phpseclib From 0.1.1 (inc) to 1.0.30 (inc)
phpseclib phpseclib 1.0.30
phpseclib phpseclib 2.0.55
phpseclib phpseclib 3.0.54
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in the phpseclib PHP secure communications library versions from 0.1.1 up to 1.0.30, 2.0.55, and 3.0.54. When an application uses phpseclib to validate an untrusted X.509 certificate, the function X509::validateSignature() reads a URL from the certificate's Authority Information Access (AIA) extension and connects to it.

Because the attacker fully controls the host, port, and path of this URL, and URL fetching is enabled by default without any destination blocking, an unauthenticated attacker can cause the validating server to open connections to internal hosts and ports it should never reach. This includes sensitive internal addresses like loopback (127.0.0.1), cloud metadata services (169.254.169.254), and other internal-only services.

This behavior results in a server-side request forgery (SSRF) vulnerability caused by an insecure default configuration. The issue has been fixed in versions 1.0.30, 2.0.55, and 3.0.54.

Impact Analysis

This vulnerability can allow an unauthenticated attacker to make your server initiate unauthorized network connections to internal systems and services that should be inaccessible externally.

Such unauthorized connections can lead to exposure of sensitive internal resources, potential data leakage, or further exploitation of internal services that are normally protected by network boundaries.

Because the attacker controls the destination of these connections, they could target critical internal infrastructure such as loopback interfaces, cloud metadata endpoints, or other internal-only services, potentially compromising the security and integrity of your environment.

Mitigation Strategies

To mitigate this vulnerability, upgrade phpseclib to version 1.0.30, 2.0.55, or 3.0.54 or later, where the issue is fixed.

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