CVE-2026-91765 (GCVE-0-2026-91765)

Vulnerability from cvelistv5 – Published: 2026-09-25 20:33 – Updated: 2026-09-25 20:33
VLAI
Title
SOAP: Unbounded Recursion in Server-Side cleanup_xml_node
Summary
cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any SoapServer endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper.
CWE
Assigner
References
Impacted products
Vendor Product Version CPE status
PHP Group PHP Affected: 8.2.* , < 8.2.34 (semver)
Affected: 8.3.* , < 8.3.35 (semver)
Affected: 8.4.* , < 8.4.26 (semver)
Affected: 8.5.* , < 8.5.11 (semver)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "packageName": "ext-soap",
          "product": "PHP",
          "vendor": "PHP Group",
          "versions": [
            {
              "lessThan": "8.2.34",
              "status": "affected",
              "version": "8.2.*",
              "versionType": "semver"
            },
            {
              "lessThan": "8.3.35",
              "status": "affected",
              "version": "8.3.*",
              "versionType": "semver"
            },
            {
              "lessThan": "8.4.26",
              "status": "affected",
              "version": "8.4.*",
              "versionType": "semver"
            },
            {
              "lessThan": "8.5.11",
              "status": "affected",
              "version": "8.5.*",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "reporter",
          "value": "ExPatch_LLC"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Alexandre Daubois"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003e\u003ccode\u003ecleanup_xml_node()\u003c/code\u003e in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any \u003ccode\u003eSoapServer\u003c/code\u003e endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper.\u003c/p\u003e"
            }
          ],
          "value": "cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any SoapServer endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-230",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-230 Serialized Data with Nested Payloads"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-674",
              "description": "CWE-674",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-25T20:33:03.634Z",
        "orgId": "dd77f84a-d19a-4638-8c3d-a322d820ed2b",
        "shortName": "php"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://github.com/php/php-src/security/advisories/GHSA-rgrp-mwpx-f6rm"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "SOAP: Unbounded Recursion in Server-Side cleanup_xml_node",
      "x_generator": {
        "engine": "Vulnogram 1.0.5"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "dd77f84a-d19a-4638-8c3d-a322d820ed2b",
    "assignerShortName": "php",
    "cveId": "CVE-2026-91765",
    "datePublished": "2026-09-25T20:33:03.634Z",
    "dateReserved": "2026-09-15T00:34:01.883Z",
    "dateUpdated": "2026-09-25T20:33:03.634Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "packageName": "ext-soap",
                "product": "PHP",
                "vendor": "PHP Group",
                "versions": [
                  {
                    "lessThan": "8.2.34",
                    "status": "affected",
                    "version": "8.2.*",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "8.3.35",
                    "status": "affected",
                    "version": "8.3.*",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "8.4.26",
                    "status": "affected",
                    "version": "8.4.*",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "8.5.11",
                    "status": "affected",
                    "version": "8.5.*",
                    "versionType": "semver"
                  }
                ]
              }
            ],
            "source": "security@php.net"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any SoapServer endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper."
          }
        ],
        "id": "CVE-2026-91765",
        "lastModified": "2026-09-25T21:17:24.550",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 3.6,
              "source": "security@php.net",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-25T21:17:24.550",
        "references": [
          {
            "source": "security@php.net",
            "url": "https://github.com/php/php-src/security/advisories/GHSA-rgrp-mwpx-f6rm"
          }
        ],
        "sourceIdentifier": "security@php.net",
        "vulnStatus": "Received",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-674"
              }
            ],
            "source": "security@php.net",
            "type": "Secondary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-09-25T22:12:03+00:00",
      "cve": "CVE-2026-91765",
      "id": "CVE-2026-91765",
      "initial_release_date": "2026-09-25T20:33:03.634000+00:00",
      "product_status:fixed": "57",
      "product_status:known_affected": "304",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "php: php: Denial of Service via unbounded recursion in SOAP parser",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-91765.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…