{"api_version":"1","generated_at":"2026-09-25T22:11:42+00:00","cve":"CVE-2026-91765","urls":{"html":"https://cve.report/CVE-2026-91765","api":"https://cve.report/api/cve/CVE-2026-91765.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-91765","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-91765"},"summary":{"title":"SOAP: Unbounded Recursion in Server-Side cleanup_xml_node","description":"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.","state":"PUBLISHED","assigner":"php","published_at":"2026-09-25 21:17:24","updated_at":"2026-09-25 21:17:24"},"problem_types":["CWE-674","CWE-674 CWE-674"],"metrics":[{"version":"3.1","source":"security@php.net","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"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"}}],"references":[{"url":"https://github.com/php/php-src/security/advisories/GHSA-rgrp-mwpx-f6rm","name":"https://github.com/php/php-src/security/advisories/GHSA-rgrp-mwpx-f6rm","refsource":"security@php.net","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-91765","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-91765","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"PHP Group","product":"PHP","version":"affected 8.2.* 8.2.34 semver","platforms":[]},{"source":"CNA","vendor":"PHP Group","product":"PHP","version":"affected 8.3.* 8.3.35 semver","platforms":[]},{"source":"CNA","vendor":"PHP Group","product":"PHP","version":"affected 8.4.* 8.4.26 semver","platforms":[]},{"source":"CNA","vendor":"PHP Group","product":"PHP","version":"affected 8.5.* 8.5.11 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"ExPatch_LLC","lang":"en"},{"source":"CNA","value":"Alexandre Daubois","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"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":"<p><code>cleanup_xml_node()</code> 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 <code>SoapServer</code> 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.</p>"}],"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"},"nvd":{"publishedDate":"2026-09-25 21:17:24","lastModifiedDate":"2026-09-25 21:17:24","problem_types":["CWE-674","CWE-674 CWE-674"],"metrics":{"cvssMetricV31":[{"source":"security@php.net","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"91765","Ordinal":"1","Title":"SOAP: Unbounded Recursion in Server-Side cleanup_xml_node","CVE":"CVE-2026-91765","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"91765","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"SOAP: Unbounded Recursion in Server-Side cleanup_xml_node"}]}}}