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.
https://lists.debian.org/debian-lts-announce/2020/02/msg00021.html
https://github.com/canonical/cloud-init/pull/204
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1860795
http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00042.html