Skip to content
Heist/ feed
Back to feed
Medium

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

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-55599
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:16 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 22 Jun 2026, 20:00 UTC

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.

osv:CVE-2026-55599
Complete source record
{
  "id": "26907664fa227ecd2ab95c3ea3c7edda3818efdcd78d321f42221810d625198e",
  "url": "https://osv.dev/vulnerability/CVE-2026-55599",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "phpseclib: X.509 certificate validation sends attacker-controlled outbound requests (server-side request forgery) via Authority Information Access",
    "summary": "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.",
    "evidence": "osv:CVE-2026-55599",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-55599",
      "aliases": [
        "CVE-2026-55599",
        "GHSA-m557-wrgg-6rp4"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/phpseclib/phpseclib",
              "type": "GIT",
              "events": [
                {
                  "introduced": "a8e70cbaa54234d466afdbf6d15d7af1751ce3eb"
                },
                {
                  "fixed": "fa867e50b0a523a042800efe3f80f32651d36705"
                },
                {
                  "introduced": "a74aa9efbe61430fcb60157c8e025a48ec8ff604"
                },
                {
                  "fixed": "d73c9e019a895be83b18a2ccccfa7e2b0a648743"
                },
                {
                  "introduced": "fe62c85e0203503231d489af95d0ac053b7d3575"
                },
                {
                  "fixed": "5418963581a6d3e69f030d8c972238cb6add3166"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0.1.1"
                      },
                      {
                        "fixed": "1.0.30"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "fixed": "2.0.55"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:phpseclib:phpseclib:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "3.0.0"
                      },
                      {
                        "fixed": "3.0.54"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.0.53",
            "2.0.54",
            "1.0.29",
            "3.0.52",
            "2.0.53",
            "1.0.28",
            "3.0.51",
            "2.0.52",
            "1.0.27",
            "3.0.50",
            "3.0.49",
            "2.0.51",
            "1.0.26",
            "2.0.50",
            "1.0.25",
            "3.0.48",
            "2.0.49",
            "1.0.24",
            "3.0.47",
            "3.0.46",
            "3.0.45",
            "3.0.44",
            "3.0.43",
            "2.0.48",
            "3.0.42",
            "3.0.41",
            "3.0.40",
            "3.0.39",
            "3.0.38",
            "2.0.47",
            "1.0.23",
            "3.0.37",
            "3.0.36",
            "1.0.22",
            "2.0.46",
            "3.0.35",
            "3.0.34",
            "3.0.33",
            "3.0.23",
            "2.0.45",
            "3.0.22",
            "3.0.21",
            "1.0.21",
            "2.0.44",
            "3.0.20",
            "2.0.43",
            "2.0.42",
            "3.0.19",
            "2.0.41",
            "3.0.18",
            "2.0.40",
            "3.0.17",
            "2.0.39",
            "3.0.16",
            "2.0.38",
            "3.0.15",
            "3.0.14",
            "2.0.37",
            "3.0.13",
            "2.0.36",
            "1.0.20",
            "2.0.35",
            "3.0.12",
            "3.0.11",
            "2.0.34",
            "3.0.10",
            "2.0.33",
            "3.0.9",
            "2.0.32",
            "3.0.8",
            "2.0.31",
            "3.0.7",
            "3.0.6",
            "3.0.5",
            "3.0.4",
            "3.0.3",
            "3.0.2",
            "3.0.1",
            "2.0.30",
            "3.0.0",
            "2.0.29",
            "2.0.28",
            "1.0.19",
            "2.0.27",
            "2.0.26",
            "2.0.25",
            "2.0.24",
            "1.0.18",
            "2.0.23",
            "1.0.17",
            "2.0.22",
            "2.0.21",
            "2.0.20",
            "2.0.19",
            "2.0.18",
            "1.0.16",
            "2.0.17",
            "2.0.16",
            "2.0.15",
            "1.0.15",
            "2.0.14",
            "1.0.14",
            "2.0.13",
            "1.0.13",
            "2.0.12",
            "1.0.12",
            "1.0.11",
            "2.0.11",
            "2.0.10",
            "1.0.10",
            "1.0.9",
            "2.0.9",
            "2.0.7",
            "1.0.8",
            "2.0.6",
            "1.0.7",
            "2.0.5",
            "1.0.6",
            "2.0.4",
            "1.0.5",
            "1.0.4",
            "2.0.3",
            "1.0.1",
            "2.0.0",
            "0.3.8",
            "0.3.7",
            "0.3.6",
            "0.3.0",
            "0.2.2",
            "0.2.1",
            "0.2.0",
            "0.1.5",
            "0.1.2",
            "0.1.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55599.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.192513682Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55599.json",
        "https://github.com/phpseclib/phpseclib/security/advisories/GHSA-m557-wrgg-6rp4",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-55599"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55599.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-55599",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493710,
  "published_at": "2026-06-22T20:00:09.322+00:00"
}