CVE-2023-31147: Insufficient randomness in generation of DNS query IDs in c-ares

Published May 24, 2023
·
Updated

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.

Other sources

Description of issue(s): 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.

CVE-2023-31147 Insufficient randomness in generation of DNS query IDs (https://github.com/c-ares/c-ares/security/advisories/GHSA-8r8p-23f3-64c2)

Red Hat

Insufficient randomness in generation of DNS query IDs in c-ares

Microsoft

Affected Software

12 affected componentsFixes available
C-ares Project C-ares<1.19.1
Fedoraproject Fedora=37
Fedoraproject Fedora=38
Microsoft cbl2 c-ares 1.19.1-1
Microsoft cbl2 fluent-bit 2.1.10-1
Microsoft cm1 c-ares 1.19.1-1
Microsoft cbl2 nodejs18 18.17.1-2
Microsoft cbl2 nodejs 16.20.1-2
Microsoft cbl2 grpc 1.42.0-10
Microsoft azl3 grpc 1.42.0-7
Microsoft azl3 grpc 1.62.0-2
Microsoft cbl2 python-gevent 21.1.2-3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade c-ares to a version that resolves this vulnerability.

    Fixed in 1.19.1

Event History

May 24, 2023
Data Sourced
via Red Hat·04:08 AM
DescriptionSeverityAffected Software
May 25, 2023
CVE Published
via MITRE·09:55 PM
Data Sourced
via MITRE·09:55 PM
DescriptionSeverityWeakness
May 29, 2023
Data Sourced
via Microsoft·07:00 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·07:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
SeverityAffected Software
Updated
via Microsoft·07:00 AM
DescriptionSeverity

Frequently Asked Questions

1

What is CVE-2023-31147?

CVE-2023-31147 is a vulnerability in the c-ares library that allows for the generation of predictable random numbers for DNS query IDs.

2

How does CVE-2023-31147 affect c-ares?

CVE-2023-31147 affects c-ares versions up to and including 1.19.1.

3

What is the severity of CVE-2023-31147?

The severity of CVE-2023-31147 is medium with a CVSS score of 6.5.

4

How can I fix CVE-2023-31147?

To fix CVE-2023-31147, you should upgrade to a version of c-ares that is not affected by this vulnerability.

5

Where can I find more information about CVE-2023-31147?

You can find more information about CVE-2023-31147 at the following references: [Access Red Hat](https://access.redhat.com/security/cve/CVE-2023-31147), [GitHub Security Advisory](https://github.com/c-ares/c-ares/security/advisories/GHSA-8r8p-23f3-64c2), [Bugzilla Red Hat](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2209542).

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203