Описание
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:
- Contact the etcd security committee
Ссылки
- https://github.com/etcd-io/etcd/security/advisories/GHSA-p4g4-wgrh-qrg2
- https://nvd.nist.gov/vuln/detail/CVE-2020-15106
- https://github.com/etcd-io/etcd/pull/11793
- https://github.com/etcd-io/etcd/commit/4571e528f49625d3de3170f219a45c3b3d38c675
- https://github.com/etcd-io/etcd/commit/f4b650b51dc4a53a8700700dc12e1242ac56ba07
- https://github.com/etcd-io/etcd/blob/master/security/SECURITY_AUDIT.pdf
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/L6B6R43Y7M3DCHWK3L3UVGE2K6WWECMP
- https://pkg.go.dev/vuln/GO-2020-0005
Пакеты
go.etcd.io/etcd
< 0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
Связанные уязвимости
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.
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.
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.
In etcd before versions 3.3.23 and 3.4.10, a large slice causes panic ...