GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GSD-2020-14040

Vulnerability from gsd - Updated: 2023-12-13 01:21
Details
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.
Aliases
Aliases

{
  "GSD": {
    "alias": "CVE-2020-14040",
    "description": "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.",
    "id": "GSD-2020-14040",
    "references": [
      "https://www.suse.com/security/cve/CVE-2020-14040.html",
      "https://access.redhat.com/errata/RHSA-2021:3140",
      "https://access.redhat.com/errata/RHSA-2021:2039",
      "https://access.redhat.com/errata/RHSA-2021:1369",
      "https://access.redhat.com/errata/RHSA-2021:1168",
      "https://access.redhat.com/errata/RHSA-2021:1129",
      "https://access.redhat.com/errata/RHSA-2021:0980",
      "https://access.redhat.com/errata/RHSA-2021:0799",
      "https://access.redhat.com/errata/RHSA-2021:0420",
      "https://access.redhat.com/errata/RHSA-2020:5635",
      "https://access.redhat.com/errata/RHSA-2020:5633",
      "https://access.redhat.com/errata/RHSA-2020:5606",
      "https://access.redhat.com/errata/RHSA-2020:5605",
      "https://access.redhat.com/errata/RHSA-2020:5198",
      "https://access.redhat.com/errata/RHSA-2020:5149",
      "https://access.redhat.com/errata/RHSA-2020:5056",
      "https://access.redhat.com/errata/RHSA-2020:5055",
      "https://access.redhat.com/errata/RHSA-2020:5054",
      "https://access.redhat.com/errata/RHSA-2020:4694",
      "https://access.redhat.com/errata/RHSA-2020:4298",
      "https://access.redhat.com/errata/RHSA-2020:4297",
      "https://access.redhat.com/errata/RHSA-2020:4214",
      "https://access.redhat.com/errata/RHSA-2020:3783",
      "https://access.redhat.com/errata/RHSA-2020:3780",
      "https://access.redhat.com/errata/RHSA-2020:3727",
      "https://access.redhat.com/errata/RHSA-2020:3665",
      "https://access.redhat.com/errata/RHSA-2020:3578",
      "https://access.redhat.com/errata/RHSA-2020:3372",
      "https://access.redhat.com/errata/RHSA-2020:3369",
      "https://access.redhat.com/errata/RHSA-2020:3087",
      "https://alas.aws.amazon.com/cve/html/CVE-2020-14040.html",
      "https://linux.oracle.com/cve/CVE-2020-14040.html",
      "https://ubuntu.com/security/CVE-2020-14040"
    ]
  },
  "gsd": {
    "metadata": {
      "exploitCode": "unknown",
      "remediation": "unknown",
      "reportConfidence": "confirmed",
      "type": "vulnerability"
    },
    "osvSchema": {
      "aliases": [
        "CVE-2020-14040"
      ],
      "details": "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.",
      "id": "GSD-2020-14040",
      "modified": "2023-12-13T01:21:59.890740Z",
      "schema_version": "1.4.0"
    }
  },
  "namespaces": {
    "cve.org": {
      "CVE_data_meta": {
        "ASSIGNER": "cve@mitre.org",
        "ID": "CVE-2020-14040",
        "STATE": "PUBLIC"
      },
      "affects": {
        "vendor": {
          "vendor_data": [
            {
              "product": {
                "product_data": [
                  {
                    "product_name": "n/a",
                    "version": {
                      "version_data": [
                        {
                          "version_value": "n/a"
                        }
                      ]
                    }
                  }
                ]
              },
              "vendor_name": "n/a"
            }
          ]
        }
      },
      "data_format": "MITRE",
      "data_type": "CVE",
      "data_version": "4.0",
      "description": {
        "description_data": [
          {
            "lang": "eng",
            "value": "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."
          }
        ]
      },
      "problemtype": {
        "problemtype_data": [
          {
            "description": [
              {
                "lang": "eng",
                "value": "n/a"
              }
            ]
          }
        ]
      },
      "references": {
        "reference_data": [
          {
            "name": "https://groups.google.com/forum/#!topic/golang-announce/bXVeAmGOqz0",
            "refsource": "MISC",
            "url": "https://groups.google.com/forum/#!topic/golang-announce/bXVeAmGOqz0"
          },
          {
            "name": "FEDORA-2020-a55f130272",
            "refsource": "FEDORA",
            "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TACQFZDPA7AUR6TRZBCX2RGRFSDYLI7O/"
          }
        ]
      }
    },
    "gitlab.com": {
      "advisories": [
        {
          "affected_range": "\u003cv0.3.3",
          "affected_versions": "All versions before 0.3.3",
          "cvss_v2": "AV:N/AC:L/Au:N/C:N/I:N/A:P",
          "cvss_v3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "cwe_ids": [
            "CWE-1035",
            "CWE-835",
            "CWE-937"
          ],
          "date": "2020-11-18",
          "description": "The `x/text` package 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`.",
          "fixed_versions": [
            "v0.3.3"
          ],
          "identifier": "CVE-2020-14040",
          "identifiers": [
            "CVE-2020-14040"
          ],
          "not_impacted": "All versions starting from 0.3.3",
          "package_slug": "go/golang.org/x/text",
          "pubdate": "2020-06-17",
          "solution": "Upgrade to version 0.3.3 or above.",
          "title": "Loop with Unreachable Exit Condition (Infinite Loop)",
          "urls": [
            "https://nvd.nist.gov/vuln/detail/CVE-2020-14040"
          ],
          "uuid": "8ab0265a-d1a9-4085-a661-0d9d9931f0ad"
        },
        {
          "affected_range": "\u003c0.3.3",
          "affected_versions": "All versions before 0.3.3",
          "cvss_v2": "AV:N/AC:L/Au:N/C:N/I:N/A:P",
          "cvss_v3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "cwe_ids": [
            "CWE-1035",
            "CWE-707",
            "CWE-835",
            "CWE-937"
          ],
          "date": "2021-05-18",
          "description": "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.",
          "fixed_versions": [
            "0.3.3"
          ],
          "identifier": "CVE-2020-14040",
          "identifiers": [
            "GHSA-5rcv-m4m3-hfh7",
            "CVE-2020-14040"
          ],
          "not_impacted": "All versions starting from 0.3.3",
          "package_slug": "go/golang.org/x/text/encoding/unicode",
          "pubdate": "2021-05-18",
          "solution": "Upgrade to version 0.3.3 or above.",
          "title": "Loop with Unreachable Exit Condition (\u0027Infinite Loop\u0027)",
          "urls": [
            "https://nvd.nist.gov/vuln/detail/CVE-2020-14040",
            "https://github.com/golang/go/issues/39491",
            "https://github.com/golang/text/commit/23ae387dee1f90d29a23c0e87ee0b46038fbed0e",
            "https://github.com/advisories/GHSA-5rcv-m4m3-hfh7"
          ],
          "uuid": "c90a0e0c-5518-452d-9d0d-2b4fda034e75"
        }
      ]
    },
    "nvd.nist.gov": {
      "configurations": {
        "CVE_data_version": "4.0",
        "nodes": [
          {
            "children": [],
            "cpe_match": [
              {
                "cpe23Uri": "cpe:2.3:a:golang:text:*:*:*:*:*:*:*:*",
                "cpe_name": [],
                "versionEndExcluding": "0.3.3",
                "vulnerable": true
              }
            ],
            "operator": "OR"
          },
          {
            "children": [],
            "cpe_match": [
              {
                "cpe23Uri": "cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*",
                "cpe_name": [],
                "vulnerable": true
              }
            ],
            "operator": "OR"
          }
        ]
      },
      "cve": {
        "CVE_data_meta": {
          "ASSIGNER": "cve@mitre.org",
          "ID": "CVE-2020-14040"
        },
        "data_format": "MITRE",
        "data_type": "CVE",
        "data_version": "4.0",
        "description": {
          "description_data": [
            {
              "lang": "en",
              "value": "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."
            }
          ]
        },
        "problemtype": {
          "problemtype_data": [
            {
              "description": [
                {
                  "lang": "en",
                  "value": "CWE-835"
                }
              ]
            }
          ]
        },
        "references": {
          "reference_data": [
            {
              "name": "https://groups.google.com/forum/#!topic/golang-announce/bXVeAmGOqz0",
              "refsource": "MISC",
              "tags": [
                "Third Party Advisory"
              ],
              "url": "https://groups.google.com/forum/#!topic/golang-announce/bXVeAmGOqz0"
            },
            {
              "name": "FEDORA-2020-a55f130272",
              "refsource": "FEDORA",
              "tags": [
                "Third Party Advisory"
              ],
              "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TACQFZDPA7AUR6TRZBCX2RGRFSDYLI7O/"
            }
          ]
        }
      },
      "impact": {
        "baseMetricV2": {
          "acInsufInfo": false,
          "cvssV2": {
            "accessComplexity": "LOW",
            "accessVector": "NETWORK",
            "authentication": "NONE",
            "availabilityImpact": "PARTIAL",
            "baseScore": 5.0,
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "vectorString": "AV:N/AC:L/Au:N/C:N/I:N/A:P",
            "version": "2.0"
          },
          "exploitabilityScore": 10.0,
          "impactScore": 2.9,
          "obtainAllPrivilege": false,
          "obtainOtherPrivilege": false,
          "obtainUserPrivilege": false,
          "severity": "MEDIUM",
          "userInteractionRequired": false
        },
        "baseMetricV3": {
          "cvssV3": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "exploitabilityScore": 3.9,
          "impactScore": 3.6
        }
      },
      "lastModifiedDate": "2020-11-18T14:44Z",
      "publishedDate": "2020-06-17T20:15Z"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…