cloud-init through 19.4 relies on Mersenne Twister for a random password, which makes it easier for attackers to predict passwords, because rand_str in cloudinit/util.py calls the random.choice function.
{ "binaries": [ { "binary_version": "21.1-19-gbad84ad4-0ubuntu1~16.04.4+esm2", "binary_name": "cloud-init" }, { "binary_version": "21.1-19-gbad84ad4-0ubuntu1~16.04.4+esm2", "binary_name": "ec2-init" }, { "binary_version": "21.1-19-gbad84ad4-0ubuntu1~16.04.4+esm2", "binary_name": "grub-legacy-ec2" } ] }