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.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Etcd | Etcd | * | 3.3.23 (excluding) |
Etcd | Etcd | 3.4.0 (including) | 3.4.10 (excluding) |
Red Hat Enterprise Linux 7 Extras | RedHat | etcd-0:3.2.32-1.el7_9 | * |
Red Hat OpenShift Container Platform 4.8 | RedHat | openshift4/ose-etcd:v4.8.0-202106152230.p0.git.aefa6bf.assembly.stream | * |
Red Hat OpenStack Platform 16.1 | RedHat | etcd-0:3.3.23-1.el8ost | * |
Etcd | Ubuntu | bionic | * |
Etcd | Ubuntu | devel | * |
Etcd | Ubuntu | esm-apps/bionic | * |
Etcd | Ubuntu | esm-apps/jammy | * |
Etcd | Ubuntu | esm-apps/noble | * |
Etcd | Ubuntu | esm-apps/xenial | * |
Etcd | Ubuntu | focal | * |
Etcd | Ubuntu | groovy | * |
Etcd | Ubuntu | hirsute | * |
Etcd | Ubuntu | impish | * |
Etcd | Ubuntu | jammy | * |
Etcd | Ubuntu | kinetic | * |
Etcd | Ubuntu | lunar | * |
Etcd | Ubuntu | mantic | * |
Etcd | Ubuntu | noble | * |
Etcd | Ubuntu | trusty | * |
Etcd | Ubuntu | upstream | * |
Etcd | Ubuntu | xenial | * |