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.
El backend POWER9 en GNU Compiler Collection (GCC) en versiones anteriores a la 10 podría optimizar múltiples llamadas de __builtin_darn intrínsecas en una sola llamada, reduciendo así la entropía del generador de números aleatorios. Esto ocurrió porque no se especificó una operación volátil. Por ejemplo, dentro de una sola ejecución de un programa, la salida de cada llamada __builtin_darn() puede ser la misma.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
| Attack Vector | NETWORK |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | NONE |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | HIGH |
| Integrity Impact | NONE |
| Availability Impact | NONE |
AV:N/AC:L/Au:N/C:P/I:N/A:N
| Access Vector | NETWORK |
|---|---|
| Access Complexity | LOW |
| Authentication | NONE |
| Confidentiality Impact | PARTIAL |
| Integrity Impact | NONE |
| Availability Impact | NONE |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-331
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| gnu | gcc | * | <built-in method update of dict object at 0x7fd349261300> | Application |
| gnu | gcc | * | <built-in method update of dict object at 0x7fd31b246700> | Application |
| gnu | gcc | * | <built-in method update of dict object at 0x7fd3702e6780> | Application |
| gnu | gcc | * | <built-in method update of dict object at 0x7fd384e54700> | Application |
| opensuse | leap | 15.0 | <built-in method update of dict object at 0x7fd38544a1c0> | Operating System |
| opensuse | leap | 15.1 | <built-in method update of dict object at 0x7fd38544a680> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:a:gnu:gcc:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:gnu:gcc:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:gnu:gcc:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:gnu:gcc:*:*:*:*:*:*:*:* |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:opensuse:leap:15.0:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:* |