Use of Insufficiently Random Values Affecting c-ares package, versions <1.19.1-2


Severity

Recommended
0.0
medium
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.9% (58th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-ECHOLATEST-CARES-19643595
  • published8 Sept 2026
  • disclosed25 May 2023

Introduced: 25 May 2023

CVE-2023-31147  (opens in a new tab)
CWE-330  (opens in a new tab)

How to fix?

Upgrade Echo:latest c-ares to version 1.19.1-2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream c-ares package and not the c-ares package as distributed by Echo. See How to fix? for Echo:latest relevant fixed versions and status.

c-ares is an asynchronous resolver library. When /dev/urandom or RtlGenRandom() are unavailable, c-ares uses rand() to generate random numbers used for DNS query ids. This is not a CSPRNG, and it is also not seeded by srand() so will generate predictable output. Input from the random number generator is fed into a non-compilant RC4 implementation and may not be as strong as the original RC4 implementation. No attempt is made to look for modern OS-provided CSPRNGs like arc4random() that is widely available. This issue has been fixed in version 1.19.1.

CVSS Base Scores

version 3.1