CVE Vulnerabilities

CVE-2019-1549

Use of Insufficiently Random Values

Published: Sep 10, 2019 | Modified: Nov 21, 2024
CVSS 3.x
5.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:P/I:N/A:N
RedHat/V2
RedHat/V3
4.8 LOW
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

OpenSSL 1.1.1 introduced a rewritten random number generator (RNG). This was intended to include protection in the event of a fork() system call in order to ensure that the parent and child processes did not share the same RNG state. However this protection was not being used in the default case. A partial mitigation for this issue is that the output from a high precision timer is mixed into the RNG state so the likelihood of a parent and child process sharing state is significantly reduced. If an application already calls OPENSSL_init_crypto() explicitly using OPENSSL_INIT_ATFORK then this problem does not occur at all. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c).

Weakness

The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.

Affected Software

NameVendorStart VersionEnd Version
OpensslOpenssl1.1.1 (including)1.1.1c (including)
JBoss Core Services Apache HTTP Server 2.4.37 SP2RedHatopenssl*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-apr-0:1.6.3-86.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-brotli-0:1.0.6-21.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-httpd-0:2.4.37-52.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_cluster-native-0:1.3.12-41.Final_redhat_2.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_http2-0:1.11.3-22.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-openssl-1:1.1.1c-16.jbcs.el6*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-apr-0:1.6.3-86.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-brotli-0:1.0.6-21.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-httpd-0:2.4.37-52.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_cluster-native-0:1.3.12-41.Final_redhat_2.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_http2-0:1.11.3-22.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-openssl-1:1.1.1c-16.jbcs.el7*
Red Hat Enterprise Linux 8RedHatopenssl-1:1.1.1c-15.el8*
Edk2Ubuntueoan*
Edk2Ubuntutrusty*
NodejsUbuntutrusty*
OpensslUbuntubionic*
OpensslUbuntudevel*
OpensslUbuntudisco*
OpensslUbuntueoan*
OpensslUbuntuesm-infra/bionic*
OpensslUbuntuesm-infra/focal*
OpensslUbuntufocal*
OpensslUbuntugroovy*
OpensslUbuntuhirsute*
OpensslUbuntuprecise/esm*
OpensslUbuntutrusty*
OpensslUbuntuupstream*

Potential Mitigations

  • Use a well-vetted algorithm that is currently considered to be strong by experts in the field, and select well-tested implementations with adequate length seeds.
  • In general, if a pseudo-random number generator is not advertised as being cryptographically secure, then it is probably a statistical PRNG and should not be used in security-sensitive contexts.
  • Pseudo-random number generators can produce predictable numbers if the generator is known and the seed can be guessed. A 256-bit seed is a good starting point for producing a “random enough” number.

References