CVE-2022-28131: Stack exhaustion from deeply nested XML documents in encoding/xml
A flaw was found in golang encoding/xml. When calling Decoder, Skip while parsing a deeply nested XML document, a panic can occur due to stack exhaustion and allows an attacker to impact system availability.
Other sources
Calling Decoder.Skip when parsing a deeply nested XML document can cause a panic due to stack exhaustion.
— Red Hat
Golang Go is vulnerable to a denial of service, caused by an uncontrolled recursion flaw in Decoder.Skip in encoding/xml due to stack exhaustion. By parsing a specially-crafted XML document, a remote attacker could exploit this vulnerability to cause a panic.
— IBM
Stack exhaustion from deeply nested XML documents in encoding/xml
— Microsoft
Uncontrolled recursion in Decoder.Skip in encoding/xml before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a deeply nested XML document.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/skupper-clito a version that resolves this vulnerability.Fixed in 0:1.0.2-2.el8 - Upgrade
Upgrade
redhat/openshift-serverless-clientsto a version that resolves this vulnerability.Fixed in 0:1.3.1-4.el8 - Upgrade
Upgrade
redhat/go-toolsetto a version that resolves this vulnerability.Fixed in 1.17-golang-0:1.17.12-1.el7_9 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 0:7.5.15-3.el8 - Upgrade
Upgrade
redhat/golangto a version that resolves this vulnerability.Fixed in 0:1.17.12-1.el9_0 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 0:7.5.15-3.el9 - Upgrade
Upgrade
redhat/kubevirtto a version that resolves this vulnerability.Fixed in 0:4.12.0-1057.el7 - Upgrade
Upgrade
redhat/kubevirtto a version that resolves this vulnerability.Fixed in 0:4.12.0-1057.el8 - Upgrade
Upgrade
redhat/golangto a version that resolves this vulnerability.Fixed in 1.18.4 - Upgrade
Upgrade
redhat/golangto a version that resolves this vulnerability.Fixed in 1.17.12 - Upgrade
Upgrade
golang/encoding/xmlto a version that resolves this vulnerability.Fixed in 1.17.12 - Upgrade
Upgrade
golang/encoding/xmlto a version that resolves this vulnerability.Fixed in 1.18.4
Event History
Parent advisories
This vulnerability appears in the following advisories.
- RHSA-2022:6113
- RHSA-2022:6345
- RHSA-2022:6188
- RHSA-2023:1042
- RHSA-2022:6040
- RHSA-2022:6042
- RHSA-2022:6152
- RHSA-2022:6348
- RHSA-2022:6346
- RHSA-2022:6347
- RHSA-2022:6370
- RHSA-2023:3642
- RHSA-2022:5866
- RHSA-2022:5775
- RHSA-2022:7519
- RHSA-2022:7529
- RHSA-2023:2758
- RHSA-2023:2802
- RHSA-2022:5799
- RHSA-2022:8057
- RHSA-2022:9047
- RHSA-2022:6283
- RHSA-2023:0407
- RHSA-2023:0408
- IBM-7183851
Frequently Asked Questions
What is CVE-2022-28131?
CVE-2022-28131 is a vulnerability in Golang Go that allows a remote attacker to cause a denial of service (DoS) by exploiting an uncontrolled recursion flaw in Decoder.Skip in encoding/xml.
How does CVE-2022-28131 impact Golang Go?
CVE-2022-28131 can lead to a panic in Golang Go, causing a DoS condition.
What is the severity of CVE-2022-28131?
CVE-2022-28131 has a severity level of high with a score of 7.3.
Which versions of Golang Go are affected by CVE-2022-28131?
Versions of Golang Go before 1.18.4 and 1.17.12 are affected by CVE-2022-28131.
How can I fix CVE-2022-28131 in Golang Go?
To fix CVE-2022-28131, update Golang Go to version 1.18.4 or 1.17.12, which contain the necessary security patches.