In the Linux kernel, the following vulnerability has been resolved:
x86/coco: Require seeding RNG with RDRAND on CoCo systems
There are few uses of CoCo that don't rely on working cryptography and hence a working RNG. Unfortunately, the CoCo threat model means that the VM host cannot be trusted and may actively work against guests to extract secrets or manipulate computation. Since a malicious host can modify or observe nearly all inputs to guests, the only remaining source of entropy for CoCo guests is RDRAND.
If RDRAND is broken -- due to CPU hardware fault -- the RNG as a whole is meant to gracefully continue on gathering entropy from other sources, but since there aren't other sources on CoCo, this is catastrophic. This is mostly a concern at boot time when initially seeding the RNG, as after that the consequences of a broken RDRAND are much more theoretical.
So, try at boot to seed the RNG using 256 bits of RDRAND output. If this fails, panic(). This will also trigger if the system is booted without RDRAND, as RDRAND is essential for a safe CoCo boot.
Add this deliberately to be "just a CoCo x86 driver feature" and not part of the RNG itself. Many device drivers and platforms have some desire to contribute something to the RNG, and add_device_randomness() is specifically meant for this purpose.
Any driver can call it with seed data of any quality, or even garbage quality, and it can only possibly make the quality of the RNG better or have no effect, but can never make it worse.
Rather than trying to build something into the core of the RNG, consider the particular CoCo issue just a CoCo issue, and therefore separate it all out into driver (well, arch/platform) code.
[ bp: Massage commit message. ]
CVSS Details
- CVSS 3.1 Base Score: 8.4
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debugUpgrade kernel-debug-uki-virtUpgrade kernel-rt-debugUpgrade kernel-64k-debug-develUpgrade kernel-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modules-coreUpgrade perfUpgrade kernel-64k-modules-coreUpgrade kernel-modulesUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-64k-debug-modules-coreUpgrade kernel-docUpgrade kernel-tools-libsUpgrade kernel-rt-develUpgrade kernel-modules-extraUpgrade kernel-64k-debug-modulesUpgrade bpftoolUpgrade kernel-debug-coreUpgrade kernel-rt-coreUpgrade kernel-cross-headersUpgrade kernel-debug-develUpgrade kernel-zfcpdump-develUpgrade python3-perfUpgrade rtlaUpgrade kernel-64k-modules-extraUpgrade kernel-64k-develUpgrade kernel-64kUpgrade kernel-zfcpdump-coreUpgrade kernel-headersUpgrade kernel-rt-debug-modules-coreUpgrade kernel-devel-matchedUpgrade rvUpgrade kernel-abi-stablelistsUpgrade kernel-64k-debugUpgrade kernel-64k-debug-modules-extraUpgrade kernelUpgrade kernel-toolsUpgrade kernel-modules-coreUpgrade kernel-debug-devel-matchedUpgrade libperfUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-rtUpgrade kernel-debug-modulesUpgrade kernel-zfcpdumpUpgrade kernel-64k-coreUpgrade kernel-rt-modules-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-uki-virtUpgrade kernel-64k-modulesUpgrade kernel-64k-debug-coreUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-modules | Nov 4, 2024 | May 19, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 19, 2024 |
| Oracle_linux | — | Upgrade kernel | Oct 16, 2024 | May 19, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Sep 6, 2024 | May 19, 2024 |
| Rocky_linux | — | Upgrade kernel-rt-debugUpgrade kernel-rt-modules-extraUpgrade kernelUpgrade bpftoolUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-cross-headersUpgrade kernel-debug-modules-coreUpgrade kernel-rt-kvmUpgrade kernel-rt-debug-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-debuginfoUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-develUpgrade kernel-tools-libsUpgrade libperf-debuginfoUpgrade rtlaUpgrade kernel-debug-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-tools-libs-develUpgrade kernel-rt-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-headersUpgrade kernel-debug-debuginfoUpgrade kernel-toolsUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-devel-matchedUpgrade kernel-debug-uki-virtUpgrade kernel-debug-coreUpgrade perf-debuginfoUpgrade kernel-debug-devel-matchedUpgrade kernel-rtUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-debug-develUpgrade python3-perfUpgrade kernel-uki-virtUpgrade kernel-rt-modules-coreUpgrade rvUpgrade bpftool-debuginfoUpgrade kernel-rt-debuginfoUpgrade libperfUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-develUpgrade kernel-modules-extraUpgrade kernel-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-modules-coreUpgrade kernel-rt-modulesUpgrade kernel-develUpgrade kernel-core | Sep 17, 2024 | May 19, 2024 |
| Suse | — | Upgrade kernel-azure-optionalUpgrade kernel-default-extraUpgrade dtb-renesasUpgrade kernel-develUpgrade ocfs2-kmp-64kbUpgrade dtb-hisiliconUpgrade kselftests-kmp-64kbUpgrade kernel-default-baseUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-default-livepatch-develUpgrade kernel-default-develUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade dlm-kmp-defaultUpgrade dtb-lgUpgrade kernel-debug-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-zfcpdumpUpgrade kernel-docs-htmlUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-default-livepatchUpgrade dtb-apmUpgrade kernel-64kb-optionalUpgrade kernel-rt_debugUpgrade cluster-md-kmp-azureUpgrade ocfs2-kmp-azureUpgrade dtb-amazonUpgrade dtb-caviumUpgrade reiserfs-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-64kbUpgrade dlm-kmp-64kbUpgrade dtb-allwinnerUpgrade dtb-socionextUpgrade kernel-source-rtUpgrade kernel-rt_debug-develUpgrade dtb-appleUpgrade dtb-freescaleUpgrade dtb-amdUpgrade dtb-marvellUpgrade kernel-macrosUpgrade reiserfs-kmp-defaultUpgrade kernel-64kb-develUpgrade kernel-rt-livepatch-develUpgrade dtb-xilinxUpgrade gfs2-kmp-rtUpgrade kernel-azure-extraUpgrade dtb-broadcomUpgrade kernel-debugUpgrade kernel-symsUpgrade kernel-obs-qaUpgrade ocfs2-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade kernel-source-azureUpgrade dtb-alteraUpgrade kernel-kvmsmall-develUpgrade kernel-syms-rtUpgrade cluster-md-kmp-64kbUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade dlm-kmp-rtUpgrade gfs2-kmp-azureUpgrade dtb-amlogicUpgrade kernel-syms-azureUpgrade kernel-source-vanillaUpgrade kernel-sourceUpgrade kernel-rt-vdsoUpgrade dlm-kmp-azureUpgrade kernel-devel-azureUpgrade kernel-default-base-rebuildUpgrade kernel-debug-vdsoUpgrade dtb-sprdUpgrade dtb-mediatekUpgrade kselftests-kmp-azureUpgrade cluster-md-kmp-rtUpgrade kernel-obs-buildUpgrade dtb-rockchipUpgrade kernel-rt-optionalUpgrade kernel-rt-livepatchUpgrade kernel-devel-rtUpgrade kernel-64kb-extraUpgrade kernel-rt-extraUpgrade kselftests-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade kernel-azureUpgrade dtb-exynosUpgrade kernel-kvmsmallUpgrade kernel-default-vdsoUpgrade kernel-default-optionalUpgrade kselftests-kmp-rtUpgrade kernel-rt-develUpgrade kernel-defaultUpgrade gfs2-kmp-defaultUpgrade dtb-nvidiaUpgrade kernel-azure-vdsoUpgrade dtb-qcomUpgrade kernel-kvmsmall-vdsoUpgrade kernel-docsUpgrade dtb-armUpgrade kernel-rt | Jun 13, 2024 | May 19, 2024 |
| Ubuntu | — | Upgrade linux-image-nvidia-64kUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-lowlatencyUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-38-genericUpgrade linux-image-ibm-classicUpgrade linux-image-raspiUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-lowlatency-64kUpgrade linux-image-azureUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-genericUpgrade linux-image-oem-24.04Upgrade linux-image-awsUpgrade linux-image-gcpUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1010-gcp | Jul 12, 2024 | May 19, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 10, 2025 | May 19, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub