CVE Vulnerabilities

CVE-2023-31124

Use of Insufficiently Random Values

Published: May 25, 2023 | Modified: Oct 31, 2023
CVSS 3.x
3.7
LOW
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS 2.x
RedHat/V2
RedHat/V3
3.7 LOW
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Ubuntu
NEGLIGIBLE

c-ares is an asynchronous resolver library. When cross-compiling c-ares and using the autotools build system, CARES_RANDOM_FILE will not be set, as seen when cross compiling aarch64 android. This will downgrade to using rand() as a fallback which could allow an attacker to take advantage of the lack of entropy by not using a CSPRNG. This issue was patched in version 1.19.1.

Weakness

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

Affected Software

Name Vendor Start Version End Version
C-ares C-ares_project * 1.19.1 (excluding)
Red Hat Enterprise Linux 8 RedHat nodejs:16-8080020230608150024.63b34585 *
Red Hat Enterprise Linux 8 RedHat nodejs:18-8080020230607122508.63b34585 *
Red Hat Enterprise Linux 8.6 Extended Update Support RedHat nodejs:16-8060020230620060944.ad008a3a *
Red Hat Enterprise Linux 9 RedHat nodejs:18-9020020230531092345.rhel9 *
Red Hat Enterprise Linux 9 RedHat nodejs-1:16.19.1-2.el9_2 *
Red Hat Enterprise Linux 9 RedHat c-ares-0:1.19.1-1.el9 *
Red Hat Enterprise Linux 9 RedHat c-ares-0:1.19.1-1.el9 *
Red Hat Enterprise Linux 9.0 Extended Update Support RedHat nodejs-1:16.18.1-4.el9_0 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-nodejs14-nodejs-0:14.21.3-4.el7 *
C-ares Ubuntu bionic *
C-ares Ubuntu trusty *
C-ares Ubuntu upstream *
C-ares Ubuntu xenial *

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