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 rtlaUpgrade kernel-rt-debug-coreUpgrade kernel-64k-debug-modulesUpgrade perfUpgrade kernel-cross-headersUpgrade kernel-modulesUpgrade kernel-64k-debug-develUpgrade kernel-rt-coreUpgrade kernel-docUpgrade kernel-zfcpdump-develUpgrade kernel-debug-develUpgrade python3-perfUpgrade kernel-debug-coreUpgrade kernel-64k-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-develUpgrade kernel-debugUpgrade kernel-develUpgrade kernel-debug-uki-virtUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-modules-coreUpgrade kernel-64k-develUpgrade kernel-rt-debug-modules-extraUpgrade bpftoolUpgrade kernel-modules-extraUpgrade kernel-coreUpgrade kernel-64k-debug-modules-coreUpgrade kernel-tools-libsUpgrade kernel-64k-modules-coreUpgrade kernel-rt-debugUpgrade kernel-modules-coreUpgrade kernel-toolsUpgrade kernel-64k-debugUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernelUpgrade kernel-rt-debug-develUpgrade rvUpgrade kernel-debug-modulesUpgrade kernel-64kUpgrade kernel-64k-debug-modules-extraUpgrade kernel-abi-stablelistsUpgrade kernel-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-64k-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-devel-matchedUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-modules-extraUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-64k-debug-coreUpgrade libperfUpgrade kernel-zfcpdumpUpgrade kernel-headersUpgrade kernel-64k-coreUpgrade kernel-uki-virtUpgrade kernel-rt-modules-coreUpgrade kernel-rt-modulesUpgrade kernel-rt | 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 kernel-rtUpgrade kernelNo solution exists | Sep 6, 2024 | May 19, 2024 |
| Rocky_linux | — | Upgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-coreUpgrade rtlaUpgrade libperf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-cross-headersUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-develUpgrade python3-perf-debuginfoUpgrade kernel-debug-develUpgrade kernel-rt-kvmUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-modules-coreUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debug-debuginfoUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-rt-debugUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-extraUpgrade python3-perfUpgrade kernel-debug-debuginfoUpgrade kernel-modulesUpgrade libperfUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-modules-extraUpgrade rvUpgrade kernel-uki-virtUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debuginfoUpgrade kernel-modules-coreUpgrade bpftool-debuginfoUpgrade perf-debuginfoUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-devel-matchedUpgrade perfUpgrade kernel-debug-uki-virtUpgrade kernel-debug-coreUpgrade kernel-tools-debuginfoUpgrade kernel-headersUpgrade kernel-debug-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-rtUpgrade kernel-zfcpdump-coreUpgrade kernel-develUpgrade kernel-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debugUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-kvm | Sep 17, 2024 | May 19, 2024 |
| Suse | — | Upgrade kselftests-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-alteraUpgrade dtb-broadcomUpgrade kernel-symsUpgrade reiserfs-kmp-64kbUpgrade gfs2-kmp-rtUpgrade kernel-default-baseUpgrade dtb-amdUpgrade kernel-debugUpgrade dtb-lgUpgrade kernel-debug-develUpgrade kernel-zfcpdumpUpgrade cluster-md-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade kernel-source-azureUpgrade dtb-amazonUpgrade kernel-default-livepatch-develUpgrade kernel-obs-qaUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-develUpgrade dtb-appleUpgrade kernel-default-develUpgrade kernel-default-extraUpgrade kernel-develUpgrade ocfs2-kmp-64kbUpgrade dlm-kmp-defaultUpgrade kernel-azure-optionalUpgrade kernel-64kb-develUpgrade dtb-renesasUpgrade gfs2-kmp-64kbUpgrade kernel-64kbUpgrade dtb-caviumUpgrade kernel-64kb-optionalUpgrade kernel-macrosUpgrade kernel-rt_debugUpgrade cluster-md-kmp-azureUpgrade kernel-default-livepatchUpgrade ocfs2-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-64kbUpgrade dtb-allwinnerUpgrade kernel-syms-rtUpgrade ocfs2-kmp-rtUpgrade dtb-xilinxUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-kvmsmall-develUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-extraUpgrade kernel-source-rtUpgrade dtb-hisiliconUpgrade dtb-freescaleUpgrade dtb-marvellUpgrade dtb-apmUpgrade reiserfs-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade dtb-socionextUpgrade kernel-docs-htmlUpgrade gfs2-kmp-defaultUpgrade dlm-kmp-rtUpgrade dtb-exynosUpgrade dtb-amlogicUpgrade kernel-source-vanillaUpgrade kernel-sourceUpgrade kernel-rt-vdsoUpgrade kernel-rtUpgrade kernel-syms-azureUpgrade dtb-armUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade kselftests-kmp-azureUpgrade kernel-default-base-rebuildUpgrade kernel-debug-vdsoUpgrade dtb-sprdUpgrade dtb-mediatekUpgrade kernel-devel-azureUpgrade kernel-rt-develUpgrade kernel-kvmsmallUpgrade kernel-default-vdsoUpgrade kernel-docsUpgrade dtb-qcomUpgrade kernel-azure-vdsoUpgrade kselftests-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade kernel-devel-rtUpgrade dtb-rockchipUpgrade kernel-rt-optionalUpgrade kernel-rt-livepatchUpgrade kernel-rt-extraUpgrade kernel-default-optionalUpgrade kselftests-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade dlm-kmp-azureUpgrade kernel-64kb-extraUpgrade kernel-obs-buildUpgrade cluster-md-kmp-rtUpgrade kernel-defaultUpgrade kernel-azureUpgrade dtb-nvidia | Jun 13, 2024 | May 19, 2024 |
| Ubuntu | — | Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-ibmUpgrade linux-image-lowlatency-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-genericUpgrade linux-image-generic-lpaeUpgrade linux-image-azureUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-nvidiaUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-intelUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-oem-24.04aUpgrade linux-image-awsUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-6.8.0-1008-oracle-64k | 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