[Cryptography] 0xFFFFFFFF is the loneliest number that you'll ever do

Jerry Leichter leichter at lrw.com
Thu Oct 31 06:11:24 EDT 2019


Or the randomest number.  At least according to the AMD RDRAND instruction on some chips.

Microcode bug:  CPUID on AMD Ryzen 3000 chips reports that RDRAND is implemented, and invoking it reports that the value returned is valid - but the value returned is always 0xFFFFFFFF.

The bug was fixed in an AMD microcode patch in July, but board makers have been ... random about issuing BIOS updates.  At one point Asus had BIOS updates dated well after the microcode patch - which didn't include it.

All sorts of merriment ensued.  Some Linux distributions fail to boot because systemd checks the RDRAND results and hangs if they fail.  (There's a workaround patch.)  Wireguard loops on a second connection.  Other system features and programs may have workarounds using different randomness sources or may proceed blindly with unfortunately results.

Quite the mess.  Interesting writeup at https://arstechnica.com/gadgets/2019/10/how-a-months-old-amd-microcode-bug-destroyed-my-weekend/

                                                        -- Jerry



More information about the cryptography mailing list