CVE-2020-15112: etcd's WAL `ReadAll` method vulnerable to an entry with large index causing panic
5.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.29048%
CWE
Published
10/6/2022
Updated
2/15/2023
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
go.etcd.io/etcd/v3 | go | < 3.3.23 | 3.3.23 |
go.etcd.io/etcd/v3 | go | >= 3.4.0, < 3.4.10 | 3.4.10 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper validation
of array indices in WAL.ReadAll
. The original code appended entries using a slice operation dependent on untrusted index values from WAL
files. The patch added bounds checking (up > uint64(len(ents))
) to prevent out-of-range accesses. The CWE-129
(Improper Validation of Array Index) and commit diff modifications to wal/wal.go
's ReadAll
method confirm this was the vulnerable function
.