{"id":"CVE-2026-11573","state":"PUBLISHED","title":"Uncontrolled recursion in QDomDocument/QDomNode serialization causes stack exhaustion (QtXml)","description":"Uncontrolled recursion (CWE-674) in the QDomDocument/QDomNode serialization path of the Qt XML module (QtXml, qtbase). QDomElementPrivate::save() and QDomNodePrivate::save() recurse mutually, consuming one stack frame per level of element nesting with no depth limit, no configurable bound and no error return. A document with deeply nested elements parses successfully but exhausts the call stack and terminates the process when serialized. Reachable via QDomDocument::toByteArray() (Qt 4.0 and later), QDomDocument::toString(), QDomDocument::toCString(), QDomNode::save(), and operator<<(QTextStream&, const QDomNode&). Denial of service only — no code execution and no memory disclosure.","publishedAt":"2026-09-08T12:06:08.617Z","updatedAt":"2026-09-11T09:31:34.532Z","severity":{"score":7.1,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","source":"Qt"},"assigner":"Qt","products":["qt qt"],"affected":[{"vendor":"qt","product":"qt","defaultStatus":"unaffected","versions":[{"version":"2.2.0","status":"affected","lessThan":"6.8.2","versionType":"python"}],"repo":"https://code.qt.io/cgit/qt/qtbase.git","modules":["qtbase"]}],"references":["https://codereview.qt-project.org/c/qt/qtbase/+/606899"],"weaknesses":["CWE-674"],"ingestedAt":"2026-10-29T20:10:52.580Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/11xxx/CVE-2026-11573.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-11573","state":"PUBLISHED","datePublished":"2026-09-08T12:06:08.617Z","dateUpdated":"2026-09-11T09:31:34.532Z","assignerShortName":"Qt","assignerOrgId":"a59d8014-47c4-4630-ab43-e1b13cbe58e3","dateReserved":"2026-06-08T10:01:44.921Z"},"containers":{"cna":{"title":"Uncontrolled recursion in QDomDocument/QDomNode serialization causes stack exhaustion (QtXml)","descriptions":[{"lang":"en","value":"Uncontrolled recursion (CWE-674) in the QDomDocument/QDomNode serialization path of the Qt XML module (QtXml, qtbase). QDomElementPrivate::save() and QDomNodePrivate::save() recurse mutually, consuming one stack frame per level of element nesting with no depth limit, no configurable bound and no error return. A document with deeply nested elements parses successfully but exhausts the call stack and terminates the process when serialized. Reachable via QDomDocument::toByteArray() (Qt 4.0 and later), QDomDocument::toString(), QDomDocument::toCString(), QDomNode::save(), and operator<<(QTextStream&, const QDomNode&). Denial of service only — no code execution and no memory disclosure."}],"affected":[{"vendor":"qt","product":"qt","defaultStatus":"unaffected","versions":[{"version":"2.2.0","status":"affected","lessThan":"6.8.2","versionType":"python"}],"repo":"https://code.qt.io/cgit/qt/qtbase.git","modules":["qtbase"]}],"references":[{"url":"https://codereview.qt-project.org/c/qt/qtbase/+/606899","name":"QTBUG-131151 — Qt bug tracker entry","tags":["patch"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"PASSIVE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":7.1,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-674","lang":"en","description":"CWE-674: Uncontrolled Recursion","type":"CWE"}]}],"providerMetadata":{"shortName":"Qt","orgId":"a59d8014-47c4-4630-ab43-e1b13cbe58e3","dateUpdated":"2026-09-11T09:31:34.532Z"},"datePublic":"2024-12-05T00:00:00.000Z","impacts":[{"capecId":"CAPEC-230","descriptions":[{"lang":"en","value":"CAPEC-230: Serialization Data with Nested Payloads"}]}],"cpeApplicability":[{"operator":"OR","nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:qt:qt:*:*:*:*:*:*:*:*","versionStartIncluding":"2.2.0","versionEndExcluding":"6.8.2"}]}]}],"source":{"discovery":"EXTERNAL"},"x_generator":{"engine":"Claude AI (Sonnet 4.6) — draft only, requires human validation before submission"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-08T13:43:04.701549Z","id":"CVE-2026-11573","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-08T13:49:08.603Z"}}]}}}