CVE-2020-14040: High severity Golang text vulnerability

Published Jun 17, 2020
·
Updated

A denial of service vulnerability was found in the golang.org/x/text library. A library or application must use one of the vulnerable functions, such as unicode.Transform, transform.String, or transform.Byte, to be susceptible to this vulnerability. If an attacker is able to supply specific characters or strings to the vulnerable application, there is the potential to cause an infinite loop to occur using more memory, resulting in a denial of service.

Other sources

Go version v0.3.3 of the x/text package fixes a vulnerability in encoding/unicode that could lead to the UTF-16 decoder entering an infinite loop, causing the program to crash or run out of memory. An attacker could provide a single byte to a UTF16 decoder instantiated with UseBOM or ExpectBOM to trigger an infinite loop if the String function on the Decoder is called, or the Decoder is passed to golang.org/x/text/transform.String.

Specific Go Packages Affected golang.org/x/text/encoding/unicode golang.org/x/text/transform

GitHub

Go version v0.3.3 of the x/text package fixes a vulnerability in encoding/unicode that could lead to the UTF-16 decoder entering an infinite loop, causing the program to crash or run out of memory. An attacker could provide a single byte to a UTF16 decoder instantiated with UseBOM or ExpectBOM to trigger an infinite loop if the String function on the Decoder is called, or the Decoder is passed to golang.org/x/text/transform.String.

Upstream Reference:

https://groups.google.com/g/golang-announce/c/bXVeAmGOqz0?pli=1

Red Hat

The x/text package before 0.3.3 for Go has a vulnerability in encoding/unicode that could lead to the UTF-16 decoder entering an infinite loop, causing the program to crash or run out of memory. An attacker could provide a single byte to a UTF16 decoder instantiated with UseBOM or ExpectBOM to trigger an infinite loop if the String function on the Decoder is called, or the Decoder is passed to golang.org/x/text/transform.String.

Affected Software

19 affected componentsFixes available
redhat/kiali<0:v1.12.10.redhat2-1.el7
0:v1.12.10.redhat2-1.el7
redhat/ior<0:1.1.6-1.el8
0:1.1.6-1.el8
redhat/servicemesh<0:1.1.6-1.el8
0:1.1.6-1.el8
redhat/servicemesh-cni<0:1.1.6-1.el8
0:1.1.6-1.el8
redhat/servicemesh-grafana<0:6.4.3-13.el8
0:6.4.3-13.el8
redhat/servicemesh-operator<0:1.1.6-2.el8
0:1.1.6-2.el8
redhat/servicemesh-prometheus<0:2.14.0-14.el8
0:2.14.0-14.el8
redhat/go-toolset<1.13-0:1.13.15-1.el7
1.13-0:1.13.15-1.el7
redhat/go-toolset<1.13-golang-0:1.13.15-3.el7
1.13-golang-0:1.13.15-3.el7
redhat/skopeo<1:0.1.40-12.el7_9
1:0.1.40-12.el7_9
redhat/buildah<0:1.11.6-12.el7_9
0:1.11.6-12.el7_9
redhat/podman<0:1.6.4-26.el7_9
0:1.6.4-26.el7_9
redhat/podman<0:1.9.3-3.rhaos4.6.el8
0:1.9.3-3.rhaos4.6.el8
redhat/skopeo<1:1.1.1-2.rhaos4.6.el8
1:1.1.1-2.rhaos4.6.el8
redhat/mcg<0:5.6.0-39.2279a46.5.6.el8
0:5.6.0-39.2279a46.5.6.el8
redhat/golang.org/x/text<0.3.3
0.3.3
go/golang.org/x/text<0.3.3
0.3.3
Golang text<0.3.3
Fedoraproject Fedora=32

Event History

Jun 17, 2020
CVE Published
12:00 AM
CVE Published
via MITRE·07:22 PM
Data Sourced
via MITRE·07:22 PM
Description
Jul 3, 2020
Data Sourced
via Red Hat·01:29 PM
DescriptionSeverityAffected Software
May 18, 2021
Advisory Published
via GitHub·06:34 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2020-14040?

CVE-2020-14040 is a vulnerability in the x/text package for Go that could cause a program to crash or run out of memory due to an infinite loop in the UTF-16 decoder.

2

What is the severity of CVE-2020-14040?

CVE-2020-14040 has a severity score of 7.5 (high).

3

How can I fix CVE-2020-14040?

To fix CVE-2020-14040, update the x/text package to version 0.3.3 or higher.

4

Where can I find more information about CVE-2020-14040?

You can find more information about CVE-2020-14040 at the following sources: CVE website, NIST NVD, Go Issue Tracker, Red Hat Bugzilla, and Red Hat Security Advisory.

5

What are the CWE IDs associated with CVE-2020-14040?

The CWE IDs associated with CVE-2020-14040 are 835 and 400.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203