High
Security advisory
encoding/xml in Go before 1.15.9 and 1.16.x before 1.16.1 has an infinite loop if a custom TokenReader (for xml.NewTokenDecoder) returns EOF in the middle of an element. This can occur in the Decode, DecodeElement, or Skip method.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-27918
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 05:42 UTC · Revision 1
Source evidence
encoding/xml in Go before 1.15.9 and 1.16.x before 1.16.1 has an infinite loop if a custom TokenReader (for xml.NewTokenDecoder) returns EOF in the middle of an element. This can occur in the Decode, DecodeElement, or Skip method.
osv:CVE-2021-27918
Complete source record
{
"id": "0bebba5801be8531355d36100f6143ef16a6c506d7115d0f6a5f85b3fdc07b70",
"url": "https://osv.dev/vulnerability/CVE-2021-27918",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-27918",
"summary": "encoding/xml in Go before 1.15.9 and 1.16.x before 1.16.1 has an infinite loop if a custom TokenReader (for xml.NewTokenDecoder) returns EOF in the middle of an element. This can occur in the Decode, DecodeElement, or Skip method.",
"evidence": "osv:CVE-2021-27918",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-27918",
"aliases": [
"BIT-golang-2021-27918",
"CVE-2021-27918",
"GO-2021-0234"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/golang/go",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "13722418773b6a081816e8cc48131306565db1bd"
},
{
"fixed": "e9e0473681e581040b4adcd64b53967e1572fe8d"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.15.9"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.16.0"
},
{
"fixed": "1.16.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"go1.16",
"go1.15.8",
"go1.16rc1",
"go1.15.6",
"go1.16beta1",
"go1.15.4",
"go1.15.3",
"go1.15.2",
"go1.15",
"go1.15rc2",
"go1.15rc1",
"go1.15beta1",
"go1.14beta1",
"go1.13beta1",
"go1.12beta2",
"go1.12beta1",
"go1.11beta3",
"go1.11beta2",
"go1.11beta1",
"go1.10rc2",
"go1.10rc1",
"go1.10beta2",
"go1.10beta1",
"go1.9beta2",
"go1.9beta1",
"go1.8beta2",
"go1.8beta1",
"go1.7rc4",
"go1.7rc3",
"go1.7rc2",
"go1.7rc1",
"go1.7beta2",
"go1.7beta1",
"go1.6beta2",
"go1.6beta1",
"go1.5beta3",
"go1.5beta2",
"go1.5beta1",
"go1.4beta1",
"go1.3beta2",
"go1.3beta1",
"weekly.2012-03-27",
"weekly",
"weekly.2012-03-22",
"weekly.2012-03-13",
"weekly.2012-03-04",
"weekly.2012-02-22",
"weekly.2012-02-14",
"weekly.2012-02-07",
"weekly.2012-01-27",
"weekly.2012-01-20",
"weekly.2012-01-15",
"weekly.2011-12-22",
"weekly.2011-12-14",
"weekly.2011-12-06",
"weekly.2011-12-02",
"weekly.2011-12-01",
"weekly.2011-11-18",
"weekly.2011-11-09",
"weekly.2011-11-08",
"weekly.2011-11-02",
"weekly.2011-11-01",
"weekly.2011-10-26",
"weekly.2011-10-25",
"weekly.2011-10-18",
"weekly.2011-10-06",
"weekly.2011-09-21",
"weekly.2011-09-16",
"weekly.2011-08-17",
"weekly.2011-09-07",
"weekly.2011-09-01",
"weekly.2011-08-10",
"weekly.2011-07-07",
"weekly.2011-07-29",
"weekly.2011-07-19",
"weekly.2011-06-09",
"weekly.2011-06-23",
"weekly.2011-06-16",
"weekly.2011-06-02",
"weekly.2011-05-22",
"weekly.2011-04-27",
"weekly.2011-04-13",
"weekly.2011-04-04",
"weekly.2011-03-28",
"weekly.2011-03-15",
"weekly.2011-03-07.1",
"release.r56",
"weekly.2011-03-07",
"weekly.2011-02-24",
"weekly.2011-02-15",
"weekly.2011-02-01.1",
"weekly.2011-02-01",
"weekly.2011-01-20",
"weekly.2011-01-19",
"weekly.2011-01-12",
"weekly.2011-01-06",
"weekly.2010-12-22",
"weekly.2010-12-15.1",
"weekly.2010-12-15",
"weekly.2010-12-08",
"weekly.2010-12-02",
"weekly.2010-11-23",
"weekly.2010-11-10",
"weekly.2010-11-02",
"weekly.2010-10-27",
"weekly.2010-10-20",
"weekly.2010-10-13.1",
"weekly.2010-10-13",
"weekly.2010-09-29",
"weekly.2010-09-22",
"weekly.2010-09-15",
"weekly.2010-09-06",
"weekly.2010-08-25",
"weekly.2010-08-11",
"weekly.2010-08-04",
"weekly.2010-07-29",
"weekly.2010-07-14",
"weekly.2010-07-01",
"weekly.2010-06-21",
"weekly.2010-06-09",
"weekly.2010-05-27",
"weekly.2010-05-04",
"weekly.2010-04-27",
"weekly.2010-04-13",
"weekly.2010-03-30",
"weekly.2010-03-22",
"weekly.2010-03-15",
"weekly.2010-03-04",
"weekly.2010-02-23",
"weekly.2010-02-17",
"weekly.2010-02-04",
"weekly.2010-01-27",
"weekly.2010-01-13",
"weekly.2010-01-05",
"weekly.2009-12-22",
"weekly.2009-12-09",
"weekly.2009-12-07",
"weekly.2009-11-17",
"weekly.2009-11-12",
"weekly.2009-11-10.1",
"weekly.2009-11-10",
"weekly.2009-11-06"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-27918.json"
}
}
],
"modified": "2026-10-24T10:30:32.717946451Z",
"provider": "osv",
"references": [
"https://groups.google.com/g/golang-announce/c/MfiLYjG-RAw",
"https://security.gentoo.org/glsa/202208-02"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2021-27918",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 433093,
"published_at": "2021-03-11T00:15:12.03+00:00"
}