Sceawere
Vulnerability Detail
CVE-2026-56859UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Stack Exhaustion via DecodeElement Depth Counter Reset
Vulnerability Metadata
- Severity
- High
- Score / CVSS
- 7.5
- Creation Date
- 20h ago
- Vendor
- Go standard library
- Product
- encoding/xml
- Attack Type
- CWE-770: Allocation of Resources Without Limits or Throttling
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Attack Complexity
- LOW
Narrative and Response
Description
Previously, DecodeElement would reset the depth counter causing it to never fire; this could lead to stack exhaustion.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "7.5",
"pubDate": "2026-08-13T22:17:22.320Z",
"pubdate": "2026-08-13T22:17:22.320Z",
"executiveSummary": "A critical vulnerability exists within the element decoding mechanism, specifically involving the DecodeElement function. This flaw pertains to recursion depth handling and stack exhaustion vulnerabilities.\nThe vulnerability allows an attacker to trigger unbounded recursive execution, leading to denial of service through stack memory depletion on affected systems processing untrusted input.\nThe core issue stems from improper state management where the recursion depth counter is erroneously reset during the parsing process. Because the counter is reset, defensive recursion limits are bypassed entirely.\nRisk implications are severe, as a successful exploitation results in application crashes, process termination, and potential service unavailability for dependent systems.\nAn unauthenticated remote attacker with the capability to supply malformed or deeply nested payloads to the vulnerable parsing engine can exploit this flaw without requiring specialized privileges.\nExploitation requirements are minimal, typically necessitating only the submission of a maliciously crafted input structure designed to continuously invoke recursive decoding sequences.",
"technicalDetails": "The vulnerability resides within the DecodeElement function, which is responsible for parsing hierarchical data structures and elements.\nThe root cause of the vulnerability is an incorrect logic implementation in the depth-tracking mechanism. During the recursive descent parsing phase, DecodeElement improperly resets the internal depth counter.\nNormally, recursion depth counters are utilized to enforce strict upper bounds on nested function calls, preventing the call stack from exceeding allocated memory limits. By resetting this counter, the tracking mechanism loses state regarding the current nesting level.\nConsequently, when the parser encounters deeply nested elements, the depth counter never reaches the intended threshold to halt execution. The function continues to invoke itself recursively without termination enforcement.\nThe attack flow proceeds as follows: First, an attacker constructs a payload containing an excessively deep hierarchy of nested elements. Second, the attacker submits this input to an application utilizing the vulnerable parsing logic. Third, the DecodeElement function begins processing the input, recursively calling itself for each nested layer. Fourth, as recursion deepens, the depth counter is repeatedly reset, bypassing safety checks. Fifth, the system call stack grows continuously until it exhausts available stack memory, triggering a stack overflow condition.\nThis vulnerability affects components that rely on the affected function for deserialization or structured data parsing. Depending on the architecture, network exposure of the parsing interface dictates whether the attack vector can be executed remotely.\nPost-exploitation impact is primarily focused on denial of service. The immediate consequence of stack exhaustion is the abrupt termination of the process hosting the vulnerable code, potentially impacting broader service availability if proper process supervision or container orchestration fail-safes are absent."
}