p PatchFirst

CVE-2023-31147

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

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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 5.9 · Medium · EPSS 0.9% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • c-ares

    Versions
    • < 1.19.1: Affected

    No fix published

  • c-ares Debian:12

    Versions
    • 1.18.1-3
    • 1.19.0-1
    • 1.19.1-1
    • 1.19.1-2
    • 1.19.1-3
    • 1.20.0-1
    • 1.20.0-2
    • 1.20.0-3
    • 1.20.1-1
    • 1.21.0-1
    • 1.22.0-1
    • 1.22.1-1
    • 1.23.0-1
    • 1.24.0-1
    • 1.25.0-1
    • 1.26.0-1
    • 1.26.0-1.1~exp1
    • 1.27.0-1
    • 1.27.0-1.1
    • 1.27.0-1.1~exp1
    • 1.27.0-1.2
    • 1.28.1-1
    • 1.29.0-1
    • 1.30.0-1
    • 1.31.0-1
    • 1.32.2-1
    • 1.32.2-2
    • 1.32.3-1
    • 1.33.0-1
    • 1.33.1-1
    • 1.33.1-2
    • 1.34.2-1
    • 1.34.3-1
    • 1.34.4-1
    • 1.34.4-2
    • 1.34.4-2.1
    • 1.34.5-1
    • 1.34.6-1
    • 1.34.7-1
    • 1.34.8-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • c-ares Debian:13

    Affected ranges
    • ECOSYSTEM: < 1.19.1-2

    Update to 1.19.1-2

  • c-ares Debian:14

    Affected ranges
    • ECOSYSTEM: < 1.19.1-2

    Update to 1.19.1-2

Original sources

Check your server →