diff --git a/pocs/cpus/entrysign/README.md b/pocs/cpus/entrysign/README.md index b57b5916..2bbd3120 100644 --- a/pocs/cpus/entrysign/README.md +++ b/pocs/cpus/entrysign/README.md @@ -16,3 +16,5 @@ for i in `seq 0 $(nproc)`; do ./ucode_loader ./milan_rdrand_carryclear_encrypted ./rdrand_test rdrand_test: rdrand failed and returned 4 ``` + +We've provided these PoCs to demonstrate that this vulnerability allows an adversary to produce arbitrary microcode patches. They cause the RDRAND instruction to always return the constant 4, but also set the carry flag (CF) to 0 to indicate that the returned value is invalid. Because correct use of the RDRAND instruction requires checking that CF is 1, this PoC can not be used to compromise correctly functioning confidential computing workloads. Additional tools and resources will be made public on March 5.