CVE-2026-55599

phpseclib: X.509 certificate validation sends attacker-controlled outbound requests (server-side request forgery) via Authority Information Access

Published Jun 22, 2026 CVSS 3.1 · 5.8 Medium EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

phpseclib, a PHP library for secure communications, allowed the X509::validateSignature() method to read the Authority Information Access (AIA) URL from an untrusted X.509 certificate and open a connection to that URL. This behavior enabled an attacker who supplied a crafted certificate to force the validating server to issue outbound requests to arbitrary hosts, ports and paths, potentially reaching internal or cloud‑metadata endpoints. The flaw grants an unauthenticated attacker the ability to traverse network boundaries that should be protected, resulting in data exposure or further exploitation within the target environment.

Affected Systems

Applications that depend on phpseclib versions 0.1.1 through 1.0.30, 2.0.55, and 3.0.54 are vulnerable. Upgrading to the fixed releases—1.0.30, 2.0.55, or 3.0.54—removes the bug. All other versions are not affected.

Risk and Exploitability

The CVSS score of 5.8 indicates moderate severity. Because no EPSS score is available, the expected exploitation rate is unknown, but the absence of KEV listing suggests limited or no active exploitation to date. The vulnerability can be triggered by any party that can supply a certificate to the application; therefore the attack vector is primarily via untrusted certificate validation, often resulting from compromised certificate stores or trust‑elevated inputs.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade phpseclib to version 1.0.30 or newer, or to 2.0.55 or 3.0.54 where the AIA network call is disabled by default.
  • If an upgrade cannot be performed immediately, restrict outgoing connections for the PHP process, blocking loopback addresses, cloud‑metadata ports, and other internal services.
  • Consider disabling or configuring the AIA URL fetch feature in phpseclib's X509 validation logic to prevent automatic outbound requests from certificate validation.

Generated by OpenCVE AI on June 22, 2026 at 22:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4670-1 php-phpseclib security update
Github GHSA Github GHSA GHSA-m557-wrgg-6rp4 phpseclib: X.509 certificate validation sends attacker-controlled outbound requests (server-side request forgery) via Authority Information Access
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Phpseclib
Phpseclib phpseclib
Vendors & Products Phpseclib
Phpseclib phpseclib
Type Values Removed Values Added
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.
Title phpseclib: X.509 certificate validation sends attacker-controlled outbound requests (server-side request forgery) via Authority Information Access
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N'}

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jun 23, 2026, 4:12 PM
Reserved
Jun 16, 2026, 11:18 PM
Status
Analyzed
Published
Jun 22, 2026, 9:16 PM
Modified
Jun 26, 2026, 8:10 PM