etcd — security advisory
In etcd before versions 3.3.23 and 3.4.10, a large slice causes panic in decodeRecord method. The size of a record is stored in the length field of a WAL file and no additional validation is done on this data. Therefore, it is possible to forge an extremely large frame size that can unintentionally panic at the expense of any RAFT participant trying to decode the WAL.
- Products
- etcd
- Affected versions
- 2.2.0+dfsg-2, 2.2.1+dfsg-1, 2.2.2+dfsg-1, 2.2.2+dfsg-2, 2.2.3+dfsg-1, 2.2.5+dfsg-1, 2.2.5+dfsg-1ubuntu1, 3.1.0-1, 3.2.17+dfsg-1, 3.2.26+dfsg-3, 3.2.26+dfsg-4, 3.2.26+dfsg-6, 3.2.9+dfsg-2, 3.2.9+dfsg-3, 3.3.25+dfsg-6, 3.3.25+dfsg-7, 3.3.25+dfsg-7ubuntu0.22.04.1, 3.3.25+dfsg-7ubuntu0.22.04.1+esm1, 3.3.25+dfsg-7ubuntu0.22.04.2, 3.3.25+dfsg-7ubuntu0.22.04.2+esm1, 3.3.25+dfsg-7ubuntu0.22.04.2+esm2, 3.3.25+dfsg-7ubuntu0.22.04.2+esm3, 3.4.23-4ubuntu2, 3.4.30-1, 3.4.30-1build1, 3.4.30-1ubuntu0.24.04.1, 3.4.30-1ubuntu0.24.04.2, 3.4.30-1ubuntu0.24.04.2+esm1, 3.4.30-1ubuntu0.24.04.3, 3.4.30-1ubuntu0.24.04.3+esm1, 3.4.30-1ubuntu0.24.04.3+esm2, 3.5.16-10, 3.5.16-10ubuntu0.26.04.1~esm1, 3.5.16-4, 3.5.30-2
- Fixed versions
- 3.2.17+dfsg-1ubuntu0.1~esm1, 3.2.26+dfsg-6ubuntu0.1
- CVEs
- CVE-2020-15106
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 00:34 UTC · Revision 1
Source evidence
In etcd before versions 3.3.23 and 3.4.10, a large slice causes panic in decodeRecord method. The size of a record is stored in the length field of a WAL file and no additional validation is done on this data. Therefore, it is possible to forge an extremely large frame size that can unintentionally panic at the expense of any RAFT participant trying to decode the WAL.
osv:UBUNTU-CVE-2020-15106
etcd
Fixed versions: Not specified
etcd
Fixed versions: 3.2.17+dfsg-1ubuntu0.1~esm1
etcd
Fixed versions: 3.2.26+dfsg-6ubuntu0.1
etcd
Fixed versions: Not specified
etcd
Fixed versions: Not specified
etcd
Fixed versions: Not specified
etcd
Fixed versions: Not specified
etcd
Fixed versions: Not specified
Complete source record
{
"id": "429cce0b2faf21b62377e899d162514962673f49232fcb06e0c9253bbc574401",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2020-15106",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2020-15106",
"summary": "In etcd before versions 3.3.23 and 3.4.10, a large slice causes panic in decodeRecord method. The size of a record is stored in the length field of a WAL file and no additional validation is done on this data. Therefore, it is possible to forge an extremely large frame size that can unintentionally panic at the expense of any RAFT participant trying to decode the WAL.",
"evidence": "osv:UBUNTU-CVE-2020-15106",
"products": [
{
"name": {
"value": "etcd",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.2.0+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "2.2.1+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.2.2+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.2.2+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "2.2.3+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.2.5+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.2.5+dfsg-1ubuntu1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.2.17+dfsg-1ubuntu0.1~esm1",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": [
{
"value": "3.1.0-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.2.9+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "3.2.9+dfsg-3",
"evidence": "/affected/1/versions"
},
{
"value": "3.2.17+dfsg-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.2.26+dfsg-6ubuntu0.1",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": [
{
"value": "3.2.26+dfsg-3",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.26+dfsg-4",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.26+dfsg-6",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.3.25+dfsg-6",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7ubuntu0.22.04.1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7ubuntu0.22.04.1+esm1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7ubuntu0.22.04.2",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7ubuntu0.22.04.2+esm1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7ubuntu0.22.04.2+esm2",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.25+dfsg-7ubuntu0.22.04.2+esm3",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.4.23-4ubuntu2",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1build1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1ubuntu0.24.04.1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1ubuntu0.24.04.2",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1ubuntu0.24.04.2+esm1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1ubuntu0.24.04.3",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1ubuntu0.24.04.3+esm1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.30-1ubuntu0.24.04.3+esm2",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.5.16-4",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.5.16-10",
"evidence": "/affected/6/versions"
},
{
"value": "3.5.30-2",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "etcd",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.5.16-4",
"evidence": "/affected/7/versions"
},
{
"value": "3.5.16-10",
"evidence": "/affected/7/versions"
},
{
"value": "3.5.16-10ubuntu0.26.04.1~esm1",
"evidence": "/affected/7/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2020-15106",
"aliases": [
"UBUNTU-CVE-2020-15106"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=xenial",
"ecosystem": "Ubuntu:16.04:LTS"
},
"versions": [
"2.2.0+dfsg-2",
"2.2.1+dfsg-1",
"2.2.2+dfsg-1",
"2.2.2+dfsg-2",
"2.2.3+dfsg-1",
"2.2.5+dfsg-1",
"2.2.5+dfsg-1ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd",
"binary_version": "2.2.5+dfsg-1ubuntu1"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "2.2.5+dfsg-1ubuntu1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.17+dfsg-1ubuntu0.1~esm1"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=esm-apps%2Fbionic",
"ecosystem": "Ubuntu:Pro:18.04:LTS"
},
"versions": [
"3.1.0-1",
"3.2.9+dfsg-2",
"3.2.9+dfsg-3",
"3.2.17+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd",
"binary_version": "3.2.17+dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "etcd-client",
"binary_version": "3.2.17+dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "etcd-server",
"binary_version": "3.2.17+dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.2.17+dfsg-1ubuntu0.1~esm1"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.26+dfsg-6ubuntu0.1"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"3.2.26+dfsg-3",
"3.2.26+dfsg-4",
"3.2.26+dfsg-6"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd",
"binary_version": "3.2.26+dfsg-6ubuntu0.1"
},
{
"binary_name": "etcd-client",
"binary_version": "3.2.26+dfsg-6ubuntu0.1"
},
{
"binary_name": "etcd-server",
"binary_version": "3.2.26+dfsg-6ubuntu0.1"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.2.26+dfsg-6ubuntu0.1"
}
],
"availability": "No subscription required"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=esm-apps%2Fjammy",
"ecosystem": "Ubuntu:Pro:22.04:LTS"
},
"versions": [
"3.3.25+dfsg-6",
"3.3.25+dfsg-7",
"3.3.25+dfsg-7ubuntu0.22.04.1",
"3.3.25+dfsg-7ubuntu0.22.04.1+esm1",
"3.3.25+dfsg-7ubuntu0.22.04.2",
"3.3.25+dfsg-7ubuntu0.22.04.2+esm1",
"3.3.25+dfsg-7ubuntu0.22.04.2+esm2",
"3.3.25+dfsg-7ubuntu0.22.04.2+esm3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd",
"binary_version": "3.3.25+dfsg-7ubuntu0.22.04.2+esm3"
},
{
"binary_name": "etcd-client",
"binary_version": "3.3.25+dfsg-7ubuntu0.22.04.2+esm3"
},
{
"binary_name": "etcd-server",
"binary_version": "3.3.25+dfsg-7ubuntu0.22.04.2+esm3"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.3.25+dfsg-7ubuntu0.22.04.2+esm3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=esm-apps%2Fnoble",
"ecosystem": "Ubuntu:Pro:24.04:LTS"
},
"versions": [
"3.4.23-4ubuntu2",
"3.4.30-1",
"3.4.30-1build1",
"3.4.30-1ubuntu0.24.04.1",
"3.4.30-1ubuntu0.24.04.2",
"3.4.30-1ubuntu0.24.04.2+esm1",
"3.4.30-1ubuntu0.24.04.3",
"3.4.30-1ubuntu0.24.04.3+esm1",
"3.4.30-1ubuntu0.24.04.3+esm2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd-client",
"binary_version": "3.4.30-1ubuntu0.24.04.3+esm2"
},
{
"binary_name": "etcd-server",
"binary_version": "3.4.30-1ubuntu0.24.04.3+esm2"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.4.30-1ubuntu0.24.04.3+esm2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"3.5.16-4"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd-client",
"binary_version": "3.5.16-4"
},
{
"binary_name": "etcd-server",
"binary_version": "3.5.16-4"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.5.16-4"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"3.5.16-10",
"3.5.30-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd-client",
"binary_version": "3.5.30-2"
},
{
"binary_name": "etcd-server",
"binary_version": "3.5.30-2"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.5.30-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "etcd",
"purl": "pkg:deb/ubuntu/etcd?arch=source&distro=esm-apps%2Fresolute",
"ecosystem": "Ubuntu:Pro:26.04:LTS"
},
"versions": [
"3.5.16-4",
"3.5.16-10",
"3.5.16-10ubuntu0.26.04.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-15106.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "etcd-client",
"binary_version": "3.5.16-10ubuntu0.26.04.1~esm1"
},
{
"binary_name": "etcd-server",
"binary_version": "3.5.16-10ubuntu0.26.04.1~esm1"
},
{
"binary_name": "golang-etcd-server-dev",
"binary_version": "3.5.16-10ubuntu0.26.04.1~esm1"
}
]
}
}
],
"modified": "2026-10-17T12:55:45.256136399Z",
"provider": "osv",
"upstream": [
"CVE-2020-15106"
],
"references": [
"https://ubuntu.com/security/CVE-2020-15106",
"https://github.com/etcd-io/etcd/security/advisories/GHSA-p4g4-wgrh-qrg2",
"https://ubuntu.com/security/notices/USN-5628-1",
"https://ubuntu.com/security/notices/USN-5628-2",
"https://www.cve.org/CVERecord?id=CVE-2020-15106"
]
},
"related_cves": [
{
"value": "CVE-2020-15106",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 354019,
"published_at": "2020-08-05T19:15:00+00:00"
}