CVE-2026-56859: 
Go vulnerability analysis and mitigation

Overview

CVE-2026-56859 is a Denial of Service vulnerability in Go's standard library encoding/xml package, caused by DecodeElement incorrectly resetting the recursion depth counter, preventing it from ever triggering and allowing stack exhaustion via deeply nested XML input. It affects Go versions prior to 1.25.13, 1.26.0–1.26.6, and 1.27.0–1.27.0-rc.3. The vulnerability was published on August 13, 2026, with patches released the same day. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is a logic flaw in the DecodeElement function within Go's encoding/xml package, where the recursion depth counter is reset on each call rather than being properly maintained across recursive invocations (CWE-776: Improper Restriction of Recursive Entity References in DTDs; CWE-770: Allocation of Resources Without Limits or Throttling). Because the depth counter never reaches its intended limit, an attacker can supply crafted XML with arbitrarily deep nesting to trigger unbounded recursion and exhaust the call stack. The fix is tracked in Go issue #80481 and applied via code change CL 803320. The vulnerability is catalogued as GO-2026-6088 in the Go vulnerability database (GitHub Advisory, Red Hat Bugzilla).

Impact

Successful exploitation results in a stack exhaustion crash of any Go application that uses encoding/xml's DecodeElement to parse untrusted XML input, causing a complete loss of availability for the affected service. There is no impact on confidentiality or data integrity. The attack is fully automatable and requires no authentication or user interaction, making it straightforward to use for denial-of-service against internet-facing Go services (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of active in-the-wild exploitation at this time. The NVD SSVC assessment classifies exploitation as "none" and technical impact as "partial," though the attack is rated "automatable" due to the network-accessible, no-authentication-required attack vector. The EPSS score is approximately 0.185% (0.568% per GitHub Advisory), placing it in the lower-to-mid range of exploitation probability. The vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Advisory).

Exploitation steps

  1. Identify target: Locate internet-facing services built with Go that accept and parse XML input using encoding/xml's DecodeElement, running Go versions prior to 1.25.13, 1.26.6, or 1.27.0-rc.3.
  2. Craft malicious XML: Construct an XML document with deeply nested elements (e.g., thousands of levels of <a><a><a>...</a></a></a>) designed to trigger recursive calls to DecodeElement.
  3. Submit payload: Send the crafted XML to the target service's XML-parsing endpoint via HTTP, API call, or any other supported input channel.
  4. Trigger stack exhaustion: Because DecodeElement resets the depth counter on each invocation, the recursion limit is never enforced, causing the Go runtime to exhaust the goroutine stack and crash the service process.
  5. Achieve DoS: The target service crashes or becomes unresponsive, resulting in denial of service for legitimate users (GitHub Advisory, Red Hat Bugzilla).

Indicators of compromise

  • Network: Repeated large or deeply nested XML payloads sent to service endpoints that accept XML input; unusual spikes in request size targeting XML-parsing APIs.
  • Logs: Application crash logs or panic stack traces from Go runtime referencing encoding/xml or DecodeElement; goroutine stack overflow messages in service logs.
  • Process: Unexpected termination or restart of Go-based service processes; high CPU usage followed by abrupt process exit consistent with stack exhaustion.

Mitigation and workarounds

Upgrade to a patched version of Go: 1.25.13 or later (for the 1.25.x branch), 1.26.6 or later (for the 1.26.x branch), or 1.27.0-rc.3 or later (for the 1.27.x pre-release branch). Red Hat has issued errata RHSA-2026:60304 (RHEL 9), RHSA-2026:60305 (RHEL 8), and RHSA-2026:60306 (RHEL 10) addressing this issue. SUSE has released updates SUSE-SU-2026:3640-1, SUSE-SU-2026:3799-1, SUSE-SU-2026:3815-1, and SUSE-SU-2026:3830-1. As a temporary workaround where upgrading is not immediately possible, avoid passing untrusted XML input to DecodeElement, or implement application-level XML depth/size limits before parsing (GitHub Advisory, Red Hat Bugzilla).

Community reactions

The Go team announced the fix via the golang-announce mailing list, and the issue was also disclosed on the oss-security mailing list. The vulnerability received standard coverage from Linux distribution security teams (Red Hat, SUSE, openSUSE, Debian, AlmaLinux, Rocky Linux) and security scanning vendors (Tenable, Qualys). No notable independent researcher commentary or significant social media discussion beyond routine security advisory tracking has been observed (golang-announce, Red Hat Bugzilla).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

golang-1.19

Affected

sid

golang-1.27: 1.27~rc3-1

Fixed

trixie

golang-1.24

Affected

Ubuntu

Unknown

bionic (esm-apps)

golang-1.8

Unknown

bionic (esm-infra)

golang-1.10

Unknown

devel

golang-1.24

Unknown

focal (esm-apps)

golang-1.16

Unknown

focal (esm-infra)

golang-1.13

Unknown

jammy

golang-1.13

Unknown

jammy (esm-apps)

golang-1.13

Unknown

noble

golang-1.21

Unknown

RHEL / CentOS

Fixed

OpenShift

el8:cri-o/cri-o-0:1.25.5-37.rhaos4.12.git2e7f657.el8

Fixed

RHEL 8

:appstream:container-tools:rhel8/skopeo/containers-common

Fixed

RHEL 9

:appstream:delve-0:1.26.1-1.el9_2.1.src

Fixed

RHEL 10

delve-0:1.26.1-2.el10_0.src

Fixed

Source: This report was generated using AI

Related Go vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-56865HIGH8.4
  • Go logoGo
  • dapr-operator-1.17
NoYesAug 13, 2026
CVE-2026-56864HIGH7.5
  • Go logoGo
  • trivy
NoYesAug 13, 2026
CVE-2026-56862HIGH7.5
  • Go logoGo
  • hcloud
NoYesAug 13, 2026
CVE-2026-56859HIGH7.5
  • Go logoGo
  • custom-pod-autoscaler-operator-fips
NoYesAug 13, 2026
CVE-2026-56860MEDIUM5.9
  • Go logoGo
  • x509-certificate-exporter-fips
NoYesAug 13, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management