p PatchFirst

PatchFirst · Latest vulnerabilities

c-ares vulnerabilities

Vulnerabilities published for c-ares in the last 30 days: 0. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 17

  1. CVE-2026-69184

    High · CVSS 7.5EPSS 0.48%Fix available

    c-ares: CPU-exhaustion denial of service via unbounded DNS name compression pointer chains

    c-ares is an asynchronous resolver library. Prior to 1.34.7, ares_dns_name_parse() enforces backward DNS compression pointers but does not bound the total pointer hops or assembled name length. A malicious DNS server can send a response containing a long descending pointer chain and many resource records whose NAME or RDATA fields refer to the chain, causing repeated decompression work that grows quadratically with message size. A single crafted response can stall the single-threaded c-ares event loop and deny DNS resolution, without causing memory corruption or information disclosure. This issue is fixed in version 1.34.7.

    • Update to 1.34.7-1
    Published Updated
  2. CVE-2026-69186

    Medium · CVSS 5.3EPSS 0.47%Fix available

    c-ares: Memory-amplification denial of service via unvalidated DNS header record counts

    c-ares is an asynchronous resolver library. Prior to 1.34.7, ares_dns_parse() trusts the attacker-controlled ANCOUNT, NSCOUNT, and ARCOUNT fields before confirming that the DNS response contains enough bytes for the claimed records. Because process_answer() invokes parsing before transaction ID and question validation, a malicious DNS response can cause ares_dns_record_rr_prealloc() and ares_array_set_size() to reserve disproportionate heap memory for a tiny message. Repeated responses create large allocation and release cycles that can degrade or deny name resolution, without causing memory corruption or information disclosure. This issue is

    • Update to 1.34.7-1
    Published Updated
  3. CVE-2026-33630

    High · CVSS 7.5EPSS 0.84%Fix available

    c-ares : Use-after-free / double-free in c-ares query-completion handling, remotely triggerable via ares_getaddrinfo() over TCP

    c-ares is an asynchronous resolver library. From ver 1.32.3 until 1.34.7, a use-after-free / double-free in c-ares' query-completion handling. The same flaw — a query's callback being invoked while the query is still linked in the channel's internal lookup structures — is present at multiple points in the resend/finish path (timeout handling, response handling, and query dispatch). If the query, or for ares_getaddrinfo() the owning host_query, is freed as a side effect of that callback, it is then accessed and/or freed a second time. This vulnerability is fixed in ver 1.34.7.

    • Update to 1.34.7-1
    Published Updated
  4. CVE-2025-62408

    Medium · CVSS 5.9EPSS 0.43%Fix available

    c-ares has a Use After Free vulnerability when connection is cleaned up after error

    c-ares is an asynchronous resolver library. Versions 1.32.3 through 1.34.5 terminate a query after maximum attempts when using read_answer() and process_answer(), which can cause a Denial of Service. This issue is fixed in version 1.34.6.

    • Update to 1.34.6-1
    Published Updated
  5. CVE-2025-31498

    High · CVSS 8.3EPSS 0.59%Fix available

    c-ares has a use-after-free in read_answers()

    c-ares is an asynchronous resolver library. From 1.32.3 through 1.34.4, there is a use-after-free in read_answers() when process_answer() may re-enqueue a query either due to a DNS Cookie Failure or when the upstream server does not properly support EDNS, or possibly on TCP queries if the remote closed the connection immediately after a response. If there was an issue trying to put that new transaction on the wire, it would close the connection handle, but read_answers() was still expecting the connection handle to be available to possibly dequeue other responses. In theory a remote attacker might be able to trigger this by flooding the targe

    • Update to 1.34.5-1
    Published Updated
  6. CVE-2024-25629

    Medium · CVSS 4.4EPSS 0.35%Fix available

    c-ares out of bounds read in ares__read_line()

    c-ares is a C library for asynchronous DNS requests. `ares__read_line()` is used to parse local configuration files such as `/etc/resolv.conf`, `/etc/nsswitch.conf`, the `HOSTALIASES` file, and if using a c-ares version prior to 1.27.0, the `/etc/hosts` file. If any of these configuration files has an embedded `NULL` character as the first character in a new line, it can lead to attempting to read memory prior to the start of the given buffer which may result in a crash. This issue is fixed in c-ares 1.27.0. No known workarounds exist.

    • Update to 1.27.0-1
    Published Updated
  7. CVE-2023-32067

    High · CVSS 7.5EPSS 1.56%Fix available

    0-byte UDP payload DoS in c-ares

    c-ares is an asynchronous resolver library. c-ares is vulnerable to denial of service. If a target resolver sends a query, the attacker forges a malformed UDP packet with a length of 0 and returns them to the target resolver. The target resolver erroneously interprets the 0 length as a graceful shutdown of the connection. This issue has been patched in version 1.19.1.

    • Update to 1.18.1-3
    Published Updated
  8. CVE-2023-31147

    Medium · CVSS 5.9EPSS 0.9%Fix available

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

    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.

    • Update to 1.19.1-2
    Published Updated
  9. CVE-2023-31130

    Medium · CVSS 4.1EPSS 0.38%Fix available

    Buffer Underwrite in ares_inet_net_pton()

    c-ares is an asynchronous resolver library. ares_inet_net_pton() is vulnerable to a buffer underflow for certain ipv6 addresses, in particular "0::00:00:00/2" was found to cause an issue. C-ares only uses this function internally for configuration purposes which would require an administrator to configure such an address via ares_set_sortlist(). However, users may externally use ares_inet_net_pton() for other purposes and thus be vulnerable to more severe issues. This issue has been fixed in 1.19.1.

    • Update to 1.18.1-3
    Published Updated
  10. CVE-2023-31124

    Low · CVSS 3.7EPSS 0.93%Fix available

    AutoTools does not set CARES_RANDOM_FILE during cross compilation

    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.

    • Update to 1.19.1-2
    Published Updated
  11. CVE-2021-3672

    Medium · CVSS 5.6EPSS 2.81%Fix available

    CVE-2021-3672

    A flaw was found in c-ares library, where a missing input validation check of host names returned by DNS (Domain Name Servers) can lead to output of wrong hostnames which might potentially lead to Domain Hijacking. The highest threat from this vulnerability is to confidentiality and integrity as well as system availability.

    • Update to 1.17.1-1.1
    Published Updated
  12. CVE-2020-14354

    Not ratedEPSS 0.53%Fix available

    CVE-2020-14354

    A possible use-after-free and double-free in c-ares lib version 1.16.0 if ares_destroy() is called prior to ares_getaddrinfo() completing. This flaw possibly allows an attacker to crash the service that uses c-ares lib. The highest threat from this vulnerability is to this service availability.

    • Update to 1.16.1-1
    Published Updated
  13. CVE-2020-8277

    Not ratedEPSS 54.16%Fix available

    CVE-2020-8277

    A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of Service in versions < 15.2.1, < 14.15.1, and < 12.19.1 by getting the application to resolve a DNS record with a larger number of responses. This is fixed in 15.2.1, 14.15.1, and 12.19.1.

    • Update to 1.17.1-1
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →