system/gcc: CVE-2019-15847: POWER9 "DARN" RNG intrinsic produces repeated output
Bugzilla ID | 190 |
Alias(es) | CVE-2019-15847 |
Reporter | Max Rees (sroracle) |
Assignee | Max Rees (sroracle) |
Reported | 2019-09-05 01:01:51 -0500 |
Modified | 2020-06-22 06:13:06 -0500 |
Status | CONFIRMED |
Version | 1.0-BETA3 |
Hardware | Adélie Linux / All |
Importance | --- / normal |
Package(s) | system/gcc |
URL | https://nvd.nist.gov/vuln/detail/CVE-2019-15847 |
See also | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481 |
Description
The POWER9 backend in GNU Compiler Collection (GCC) before version 10
could optimize multiple calls of the __builtin_darn intrinsic into a
single call, thus reducing the entropy of the random number generator.
This occurred because a volatile operation was not specified. For
example, within a single execution of a program, the output of every
__builtin_darn() call may be the same.
Backported to 8 branch:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=275181
8 branch test case:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=275182
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=275244