AnsweredAssumed Answered

Ryzen 3000 random bug

Question asked by hardcoregames™ on Oct 29, 2019
Latest reply on Oct 30, 2019 by hardcoregames™

I am a developer and I am on a lot of forums besides this one. One serious fault that has surfaced deals with random numbers.


RDRAND is an instruction that has been around since Broadwell. AMD Zen also supports it.


CPUID can determine if the flag is set. Unfortunately, unpatched Ryzen 3000 says "yes" to the CPUID 01H call, sets the carry bit indicating it has successfully created the most artisanal, organic high-quality random number possible... and gives you a 0xFFFFFFFF for the "random" number, every single time.


I have been aware of this defect which is a major problem for a secure system. It breaks std::random() as well which is the C++ call to the CPU instruction. The chilling effect on security is horrifying.


AMD needs to make a new stepping for the faulty CPU which is the only real way to fix the problem.