diff --git a/README.md b/README.md
index 99abbf8cfed3ebd8b8f2df2f5c7ff2b677343c7d..9fcf47a3c0311cceb69904ff92f1d04ac91cf205 100644
--- a/README.md
+++ b/README.md
@@ -113,7 +113,7 @@ Note: Upstart/SysV init based OS types are not supported.
 
 - Core
   - [kubernetes](https://github.com/kubernetes/kubernetes) v1.16.6
-  - [etcd](https://github.com/coreos/etcd) v3.3.10
+  - [etcd](https://github.com/coreos/etcd) v3.3.12
   - [docker](https://www.docker.com/) v18.06 (see note)
   - [containerd](https://containerd.io/) v1.2.13
   - [cri-o](http://cri-o.io/) v1.14.0 (experimental: see [CRI-O Note](docs/cri-o.md). Only on centos based OS)
diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 19315a7399f37bc9d6eb81cec95b3c9d1ee5d5f6..321798862f701cd9eccebf09907ca476f3d03e74 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -51,7 +51,7 @@ image_arch: "{{host_architecture | default('amd64')}}"
 # Versions
 kube_version: v1.16.6
 kubeadm_version: "{{ kube_version }}"
-etcd_version: v3.3.10
+etcd_version: v3.3.12
 
 # gcr and kubernetes image repo define
 gcr_image_repo: "gcr.io"
@@ -310,8 +310,8 @@ etcd_binary_checksums:
   # Etcd does not have arm32 builds at the moment, having some dummy value is
   # required to avoid "no attribute" error
   arm: 0
-  arm64: 5ec97b0b872adce275b8130d19db314f7f2b803aeb24c4aae17a19e2d66853c4
-  amd64: 1620a59150ec0a0124a65540e23891243feb2d9a628092fb1edcc23974724a45
+  arm64: 170b848ac1a071fe7d495d404a868a2c0090750b2944f8a260ef1c6125b2b4f4
+  amd64: dc5d82df095dae0a2970e4d870b6929590689dd707ae3d33e7b86da0f7f211b6
 cni_binary_checksums:
   arm: 6094887394e0f10cfb538a0a052bc94a89a88b77af2e438b66e2c0bee26b52ee
   arm64: aa931e78f08f00edd01f8b5ea2c9402cbf3877d91f9fbe9c132c05430cc7a493