Every CVE Search/ Get API key

CVE-2020-15106

Improper Input Validation in etcd

6.5 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

1.26%Up 0.6 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 6.5

Improper Input Validation in etcd

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.

Record
CVE-2020-15106
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-20
Updated
2026-11-02
EUVDEUVD-2023-0749 6.5

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.

Record
EUVD-2023-0749
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-p4g4-wgrh-qrg2 3.7

Panic due to malformed WALs in go.etcd.io/etcd

Vulnerability type

Data Validation

Detail

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.

Specific Go Packages Affected

github.com/etcd-io/etcd/wal

References

Find out more on this vulnerability in the security audit report

For more information

If you have any questions or comments about this advisory:

Record
GHSA-p4g4-wgrh-qrg2
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20
Updated
2026-11-02
NVD 6.5

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.

Record
CVE-2020-15106
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
4.0 MediumAV:N/AC:L/Au:S/C:N/I:N/A:P
Weakness
CWE-20
Updated
2026-11-02
OSVAZL-6388 6.5

CVE-2020-15106 affecting package etcd for versions less than 3.5.0-3

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.

Record
AZL-6388
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSV 6.5

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.

Record
CVE-2020-15106
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 16 moreShow less
OSVCVE-2020-15112 6.5

In etcd before versions 3.3.23 and 3.4.10, it is possible to have an entry index greater then the number of entries in the ReadAll method in wal/wal.go. This could cause issues when WAL entries are being read during consensus as an arbitrary etcd consensus participant could go down from a runtime panic when reading the entry.

Record
CVE-2020-15112
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2020-15106 6.5

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.

Record
DEBIAN-CVE-2020-15106
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-m332-53r6-2w93 5.3

etcd's WAL `ReadAll` method vulnerable to an entry with large index causing panic

Vulnerability type

Data Validation

Detail

In the ReadAll method in wal/wal.go, it is possible to have an entry index greater then the number of entries. This could cause issues when WAL entries are being read during consensus as an arbitrary etcd consensus participant could go down from a runtime panic when reading the entry.

References

Find out more on this vulnerability in the security audit report

For more information

If you have any questions or comments about this advisory:

Record
GHSA-m332-53r6-2w93
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-129, CWE-20
Updated
2026-11-02
OSVGHSA-p4g4-wgrh-qrg2 3.7

Panic due to malformed WALs in go.etcd.io/etcd

Vulnerability type

Data Validation

Detail

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.

Specific Go Packages Affected

github.com/etcd-io/etcd/wal

References

Find out more on this vulnerability in the security audit report

For more information

If you have any questions or comments about this advisory:

Record
GHSA-p4g4-wgrh-qrg2
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20
Updated
2026-11-02
OSVRHSA-2021:0916 7.7

Red Hat Security Advisory: Red Hat OpenStack Platform 16.1.4 (etcd) security update

Record
RHSA-2021:0916
CVSS 3.1
7.7 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2021:1407 6.5

Red Hat Security Advisory: etcd security update

Record
RHSA-2021:1407
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2020-15106 6.5

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.

Record
UBUNTU-CVE-2020-15106
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVBIT-etcd-2020-15106 No score

Improper Input Validation in etcd

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.

Record
BIT-etcd-2020-15106
Updated
2026-11-02
OSVBIT-etcd-2020-15112 No score

Improper Input Validation in etcd

In etcd before versions 3.3.23 and 3.4.10, it is possible to have an entry index greater then the number of entries in the ReadAll method in wal/wal.go. This could cause issues when WAL entries are being read during consensus as an arbitrary etcd consensus participant could go down from a runtime panic when reading the entry.

Record
BIT-etcd-2020-15112
Updated
2026-11-02
OSVGO-2020-0005 No score

Panic due to malformed WALs in go.etcd.io/etcd

Malformed WALs can be constructed such that WAL.ReadAll can cause attempted out of bounds reads, or creation of arbitrarily sized slices, which may be used as a DoS vector.

Record
GO-2020-0005
Updated
2026-11-02
OSVopenSUSE-SU-2024:10741-1 No score

etcd-3.4.16-3.1 on GA media

These are all security issues fixed in the etcd-3.4.16-3.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10741-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:0003-1 No score

Security update for etcd

This update for etcd fixes the following issues:

Update to version 3.5.12:

  • Bump golang.org/x/crypto to v0.17+ to address CVE-2023-48795
  • test: fix TestHashKVWhenCompacting: ensure all goroutine finished
  • print error log when creating peer listener failed
  • mvcc: Printing etcd backend database related metrics inside scheduleCompaction function
  • dependency: update go version to 1.20.13
  • commit bbolt transaction if there is any pending deleting operations
  • add tests to test tx delete consistency.
  • Don't flock snapshot files
  • Backport adding digest for etcd base image.
  • Add a unit tests and missing flags in etcd help.
  • Add missing flag in etcd help.
  • Backport testutils.ExecuteUntil to 3.5 branch
  • member replace e2e test
  • Check if be is nil to avoid panic when be is overriden with nil by recoverSnapshotBackend on line 517
  • Don't redeclare err and snapshot variable, fixing validation of consistent index and closing database on defer
  • test: enable gofail in release e2e test.
  • [3.5] backport health check e2e tests.
  • tests: Extract e2e cluster setup to separate package
  • Update to version 3.5.11:

    • etcdserver: add linearizable_read check to readyz.
    • etcd: Update go version to 1.20.12
    • server: disable redirects in peer communication
    • etcdserver: add metric counters for livez/readyz health checks.
    • etcdserver: add livez and ready http endpoints for etcd.
    • http health check bug fixes
    • server: Split metrics and health code
    • server: Cover V3 health with tests
    • server: Refactor health checks
    • server: Run health check tests in subtests
    • server: Rename test case expect fields
    • server: Use named struct initialization in healthcheck test
    • Backport server: Don't follow redirects when checking peer urls.
    • Backport embed: Add tracing integration test.
    • Backport server: Have tracingExporter own resources it initialises.
    • Backport server: Add sampling rate to distributed tracing.
    • upgrade github.com/stretchr/testify,google.golang.org/genproto/googleapis/api,google.golang.org/grpc to make it consistent
    • CVE-2023-47108: Backport go.opentelemetry.io/[email protected] and go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected]
    • github workflow: run arm64 tests on every push
    • etcd: upgrade go version from 1.20.10 to 1.20.11
    • bump bbolt to 1.3.8 for etcd 3.5
    • 3.5: upgrade gRPC-go to 1.58.3
    • Backport corrupt check test fix 'etcd server shouldn't wait for the ready notification infinitely on startup'
    • etcdserver: add cluster id check for hashKVHandler
    • [release-3.5]: upgrade gRPC-go to v1.52.0
    • backport #14125 to release-3.5: Update to grpc-1.47 (and fix the connection-string format)
    • Return to default write scheduler since golang.org/x/[email protected] started using round robin
    • Bump go to v1.20.10 Part of https://github.com/etcd-io/etcd/issues/16740
    • bump golang.org/x/net to 0.17.0 Part of https://github.com/etcd-io/etcd/issues/16740
    • etcd: upgrade go version to 1.20.9
    • Remove obsolete http 1.0 version.
    • fix:Ensure that go version is only defined in one file for release-3.5
    • Fix panic in etcd validate secure endpoints
    • dependency: bump golang to 1.20.8
    • Backport redirect metrics data into file to reduce output.
    • test.sh: increase timeout for grpcproxy test
    • test: add v3 curl test to cover maintenance hash/hashkv REST API
    • api: fix duplicate gateway url issue
    • pkg: add a verification on the pagebytes which must be > 0
    • tests: Backport deflake for TestWatchDelay
    • tests: Backport deflake for TestPageWriterRandom
    • Backport adding unit test for socket options.
    • Backport export reuse-port and reuse-address
    • Fix goword failure in rafthttp/transport.go.
    • Backport update to golang 1.20 minor release.
    • bump go version to 1.19.12
    • Update workflows to use makefile recipes for unit, integration & e2e-release.
    • Backport Makefile recipes for common test…
Record
openSUSE-SU-2025:0003-1
Updated
2026-11-02
OSVSUSE-SU-2020:3760-1 No score

Security changes in Kubernetes, etcd, and helm; Bugfix in cri-o package

= Required Actions

== Kubernetes & etcd (Security fixes)

This fix involves an upgrade of Kubernetes and some add-ons. See https://documentation.suse.com/suse-caasp/4.2/html/caasp-admin/_cluster_updates.html#_updating_kubernetes_components for the upgrade procedure.

== Skuba & helm/helm3

In order to update skuba and helm or helm 3, you need to update the management workstation. See detailed instructions at https://documentation.suse.com/suse-caasp/4.2/html/caasp-admin/_cluster_updates.html#_update_management_workstation

= Known Issues

Modifying the file /etc/sysconfig/kubelet directly is not supported: documentation at https://documentation.suse.com/suse-caasp/4.2/html/caasp-admin/_miscellaneous.html#_configuring_kubelet

Be sure to check the Release Notes at https://www.suse.com/releasenotes/x86_64/SUSE-CAASP/4/#_changes_in_4_2_4 for any additional known issues or behavioral changes.

Record
SUSE-SU-2020:3760-1
Updated
2026-11-02
OSVSUSE-SU-2024:3656-1 No score

Security update for etcd

This update for etcd fixes the following issues:

Update to version 3.5.12:

Security fixes:

  • CVE-2018-16873: Fixed remote command execution in cmd/go (bsc#1118897)
  • CVE-2018-16874: Fixed directory traversal in cmd/go (bsc#1118898)
  • CVE-2018-16875: Fixed CPU denial of service in crypto/x509 (bsc#1118899)
  • CVE-2018-16886: Fixed improper authentication issue when RBAC and client-cert-auth is enabled (bsc#1121850)
  • CVE-2020-15106: Fixed panic in decodeRecord method (bsc#1174951)
  • CVE-2020-15112: Fixed improper checks in entry index (bsc#1174951)
  • CVE-2021-28235: Fixed information discosure via debug function (bsc#1210138)
  • CVE-2022-41723: Fixed quadratic complexity in HPACK decoding in net/http (bsc#1208270, bsc#1208297)
  • CVE-2023-29406: Fixed insufficient sanitization of Host header in go net/http (bsc#1213229)
  • CVE-2023-47108: Fixed DoS vulnerability in otelgrpc (bsc#1217070)
  • CVE-2023-48795: Fixed prefix truncation breaking ssh channel integrity (aka Terrapin Attack) in crypto/ssh (bsc#1217950, bsc#1218150)

Other changes:

  • Added hardening to systemd service(s) (bsc#1181400)
  • Fixed static /tmp file issue (bsc#1199031)
  • Fixed systemd service not starting (bsc#1183703)

Full changelog:

https://github.com/etcd-io/etcd/compare/v3.3.1...v3.5.12

Record
SUSE-SU-2024:3656-1
Updated
2026-11-02
OSVUSN-5628-1 No score

etcd vulnerabilities

It was discovered that etcd incorrectly handled certain specially crafted WAL files. An attacker could possibly use this issue to cause a denial of service. (CVE-2020-15106, CVE-2020-15112)

It was discovered that etcd incorrectly handled directory permissions when trying to create a directory that exists already. An attacker could possibly use this issue to obtain sensitive information. (CVE-2020-15113)

It was discovered that etcd incorrectly handled endpoint setup. An attacker could possibly use this issue to cause a denial of service. (CVE-2020-15114)

Record
USN-5628-1
Updated
2026-11-02
OSVUSN-5628-2 No score

etcd vulnerabilities

USN-5628-1 fixed vulnerabilities in etcd. This update provides the corresponding updates for Ubuntu 18.04 ESM.

Original advisory details:

It was discovered that etcd incorrectly handled certain specially crafted WAL files. An attacker could possibly use this issue to cause a denial of service. (CVE-2020-15106, CVE-2020-15112)

It was discovered that etcd incorrectly handled directory permissions when trying to create a directory that exists already. An attacker could possibly use this issue to obtain sensitive information. (CVE-2020-15113)

It was discovered that etcd incorrectly handled endpoint setup. An attacker could possibly use this issue to cause a denial of service. (CVE-2020-15114)

Record
USN-5628-2
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
go.etcd.io/etcd
Go
before 0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
etcd
Azure Linux:2
before 3.5.0-3
3.5.0-3
etcd
Bitnami
From an advisory covering 2 CVEs
before 3.3.23, 3.4.0 up to 3.4.10
3.3.233.4.10
etcd
Debian:12
before 3.3.25+dfsg-5
3.3.25+dfsg-5
etcd
Debian:13
before 3.3.25+dfsg-5
3.3.25+dfsg-5
etcd
Debian:14
before 3.3.25+dfsg-5
3.3.25+dfsg-5
go.etcd.io/etcd/v3
Go
From an advisory covering 2 CVEs
before 3.3.23
3.3.23
go.etcd.io/etcd/v3
Go
From an advisory covering 2 CVEs
3.4.0 up to 3.4.10
3.4.10
go.etcd.io/etcd
Go
From an advisory covering 2 CVEs
before 0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
etcd
Red Hat:openstack:16.1::el8
From an advisory covering 6 CVEs
before 0:3.3.23-1.el8ost
0:3.3.23-1.el8ost
Show 20 moreShow less
Affected packages
PackageAffectedFixed
etcd-debuginfo
Red Hat:openstack:16.1::el8
From an advisory covering 6 CVEs
before 0:3.3.23-1.el8ost
0:3.3.23-1.el8ost
etcd-debugsource
Red Hat:openstack:16.1::el8
From an advisory covering 6 CVEs
before 0:3.3.23-1.el8ost
0:3.3.23-1.el8ost
etcd
Red Hat:rhel_extras_other:7
From an advisory covering 2 CVEs
before 0:3.2.32-1.el7_9
0:3.2.32-1.el7_9
etcd-debuginfo
Red Hat:rhel_extras_other:7
From an advisory covering 2 CVEs
before 0:3.2.32-1.el7_9
0:3.2.32-1.el7_9
kubernetes
SUSE:Linux Enterprise Module for Containers 15 SP1
From an advisory covering 8 CVEs
before 1.17.13-4.21.2
1.17.13-4.21.2
etcd
openSUSE:Leap 15.5
From an advisory covering 11 CVEs
before 3.5.12-150000.7.6.1
3.5.12-150000.7.6.1
etcd
openSUSE:Leap 15.6
From an advisory covering 11 CVEs
before 3.5.12-150000.7.6.1
3.5.12-150000.7.6.1
etcd
Ubuntu:16.04:LTS
All versions, plus listed versions
2.2.0+dfsg-22.2.1+dfsg-12.2.2+dfsg-12.2.2+dfsg-22.2.3+dfsg-12.2.5+dfsg-12.2.5+dfsg-1ubuntu1
None known
etcd
Ubuntu:Pro:18.04:LTS
before 3.2.17+dfsg-1ubuntu0.1~esm1, plus listed versions
3.1.0-13.2.9+dfsg-23.2.9+dfsg-33.2.17+dfsg-1
3.2.17+dfsg-1ubuntu0.1~esm1
etcd
Ubuntu:20.04:LTS
before 3.2.26+dfsg-6ubuntu0.1, plus listed versions
3.2.26+dfsg-33.2.26+dfsg-43.2.26+dfsg-6
3.2.26+dfsg-6ubuntu0.1
etcd
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
3.3.25+dfsg-63.3.25+dfsg-73.3.25+dfsg-7ubuntu0.22.04.13.3.25+dfsg-7ubuntu0.22.04.1+esm13.3.25+dfsg-7ubuntu0.22.04.23.3.25+dfsg-7ubuntu0.22.04.2+esm13.3.25+dfsg-7ubuntu0.22.04.2+esm23.3.25+dfsg-7ubuntu0.22.04.2+esm3
None known
etcd
Ubuntu:Pro:24.04:LTS
All versions, plus listed versions
3.4.23-4ubuntu23.4.30-13.4.30-1build13.4.30-1ubuntu0.24.04.13.4.30-1ubuntu0.24.04.2
Show 4 moreShow less
3.4.30-1ubuntu0.24.04.2+esm13.4.30-1ubuntu0.24.04.33.4.30-1ubuntu0.24.04.3+esm13.4.30-1ubuntu0.24.04.3+esm2
None known
etcd
Ubuntu:25.10
All versions, plus listed versions
3.5.16-4
None known
etcd
Ubuntu:26.10
All versions, plus listed versions
3.5.16-103.5.30-2
None known
etcd
Ubuntu:Pro:26.04:LTS
All versions, plus listed versions
3.5.16-43.5.16-103.5.16-10ubuntu0.26.04.1~esm1
None known
etcd
Ubuntu:20.04:LTS
From an advisory covering 4 CVEs
before 3.2.26+dfsg-6ubuntu0.1, plus listed versions
3.2.26+dfsg-33.2.26+dfsg-43.2.26+dfsg-6
3.2.26+dfsg-6ubuntu0.1
etcd
Ubuntu:Pro:18.04:LTS
From an advisory covering 4 CVEs
before 3.2.17+dfsg-1ubuntu0.1~esm1, plus listed versions
3.1.0-13.2.9+dfsg-23.2.9+dfsg-33.2.17+dfsg-1
3.2.17+dfsg-1ubuntu0.1~esm1
etcd
openSUSE:Tumbleweed
From an advisory covering 5 CVEs
before 3.4.16-3.1
3.4.16-3.1
etcd
SUSE:Package Hub 15 SP6
From an advisory covering 5 CVEs
before 3.5.12-bp156.4.3.1
3.5.12-bp156.4.3.1
etcd
openSUSE:Leap 15.6
From an advisory covering 5 CVEs
before 3.5.12-bp156.4.3.1
3.5.12-bp156.4.3.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-15106 is a medium vulnerability (CVSS 6.5) in Etcd, published August 5, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.26%, the 69th percentile. Fixed in go.etcd.io/etcd 0.5.0-alpha.5.0.20200423152442-f4b650b51dc4.

References

Show 90 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open