Rustls versions 0.23.44 and 0.23.45 have an information disclosure vulnerability where application data buffered before handshake completion can be sent to the client-facing server if Encrypted Client Hello (ECH) is rejected. This occurs because plaintext data is queued and sent prematurely, exposing data intended for an inner server to the authenticated public_name server.
A key exchange downgrade vulnerability exists in rustls versions before 0.23.46. This flaw allows network attackers to poison the per-server-name key-exchange group record using an unauthenticated ServerHello message. By responding to one connection with a ServerHello selecting the X25519 group, attackers can cause subsequent ClientHello messages to use only classical key shares, thereby losing post-quantum confidentiality.
A denial of service vulnerability exists in Hickory DNS hickory-proto versions from 0.3.1 before 0.26.1. The flaw is in the BinEncoder component, where remote attackers can cause CPU exhaustion by sending specially crafted DNS messages that trigger quadratic-time name compression. This leads to repeated linear scans during encoding, amplifying CPU resource consumption and causing service disruption.
Hickory DNS versions hickory-proto 0.1 through 0.25.0-alpha.3 and hickory-net before 0.26.2 have a DNSSEC validation bypass vulnerability. The validator incorrectly verifies RRSIG signatures against the DNSKEY of the name in the Signer's Name field without confirming that this name matches the zone of the RRset. This flaw allows attackers controlling any secure zone to create valid signatures over arbitrary records in unrelated zones, causing resolvers and clients to accept forged DNS data as authentic.
A memory allocation flaw exists in rustls versions before 0.23.46 in the optional Brotli certificate decompression feature. The flaw allows a malicious peer to request a large memory allocation (up to 1 GiB) via a crafted five-byte Brotli header before authentication. This can cause clients or servers using Brotli-enabled rustls to abort if their allocator cannot fulfill the request.
Multiple Hickory components prior to version 0.26.2 fail to properly canonicalize IPv4-mapped IPv6 addresses when enforcing deny_answers, deny_server, or AccessControlSet rules. This flaw allows attackers to bypass answer filtering, cause queries to denied nameservers, or access Hickory server deployments on dual-stack IPv6 sockets from clients that should be denied.
imgproxy versions from 3.3.0 up to but not including 4.0.17 contain a vulnerability in the ICO image loader. This flaw involves an out-of-bounds heap read and write during BMP header reconstruction when processing ICO entries with tiny data sizes. An unauthenticated attacker can exploit this by supplying a crafted ICO image, causing heap corruption and triggering a glibc abort that crashes the worker process.
Hickory DNS hickory-resolver versions before 0.26.2 contain a vulnerability where an unbounded retry loop occurs in the NameServerPool::try_send function. This loop re-queues truncated DNS responses (TC=1) without verifying the transport or limiting retries. A malicious authoritative DNS server can exploit this by continuously sending truncated responses over a persistent TCP connection, causing the resolver to consume excessive resources until the request times out after 5 seconds.
Rustls versions before 0.23.46 and 0.24.0-dev.1 before 0.24.0-dev.2 have an information disclosure vulnerability. The issue arises from the Debug formatting of client session values, which can expose secret key material. Specifically, custom ClientSessionStore implementations that log Tls12ClientSessionValue or Tls13ClientSessionValue may leak TLS 1.2 master secrets or TLS 1.3 resumption PSKs to anyone with access to the logs.
A vulnerability in hickory-dns recursor versions 0.25.0-alpha.3 through 0.25.2 and hickory-resolver versions before 0.26.2 allows remote attackers to cause resource exhaustion. The issue arises because the recursor iterates every out-of-bailiwick NS target lacking glue records in a referral without limiting per-query work. This can be exploited to amplify traffic against remote servers or exhaust recursor resources, leading to denial of service.
The Hickory DNS recursor in all versions of hickory-recursor and in hickory-resolver 0.26.0-beta.1 before 0.26.2 is vulnerable to ghost domain name attacks. This occurs because the software reuses cached child-side apex NS RRsets from zone NS queries during iterative resolution. An attacker can exploit this by repeatedly querying a zone's NS records to keep stale RRsets cached indefinitely, allowing revoked name servers to continue answering for the zone.
A DNSSEC validation flaw exists in Hickory DNS hickory-proto versions 0.25 through 0.26.0-alpha.1 and hickory-net 0.26.0-beta.1 before 0.26.2. The flaw is in the validating recursor's NSEC3 handler, which incorrectly accepts parent-side ancestor-delegation NSEC3 records as proof of nonexistence by matching the closest encloser by hash alone without verifying the type bitmap. This can cause NXDOMAIN or NODATA responses to be cached with the AD flag set, resulting in denial of resolution for existing domain names at and below the zone cut.
Hickory DNS versions hickory-proto before 0.26.0-beta.1 and hickory-net before 0.26.2 have a DNSSEC validation bypass vulnerability. The function verify_rrsets() incorrectly ignores the DNS class when partitioning resource record sets (RRsets), causing non-IN class records to skip signature verification while still being marked as secure if the IN records verify correctly. This flaw allows attackers who can supply DNS responses to include forged CH or HS class records, including DS records, to authenticate arbitrary DNSKEYs and forge child zone responses.
A DNSSEC validation flaw exists in Hickory DNS hickory-proto versions 0.25.0-alpha.3 through 0.25.2 and hickory-net versions 0.26.0-alpha.1 before 0.26.2. The flaw allows acceptance of NSEC3-signed NODATA responses for zone-apex queries as secure without a matching NSEC3 record for the hashed QNAME. This can enable on-path attackers or malicious authoritative servers to replay a validly signed non-apex NSEC3 with the zone's signed SOA, resulting in an authenticated denial of any apex RRtype for the negative-cache TTL.
A vulnerability in Hickory DNS validating recursor versions 0.25.0 through 0.26.0-alpha.1, hickory-resolver 0.26.0-alpha.1 before 0.26.2, and hickory-net 0.26.0-beta.1 before 0.26.2 allows caching of DNSSEC-bogus answers with an attacker-controlled TTL up to 24 hours. This occurs because the recursor uses the untrusted TTL from the attacker-supplied record instead of a short validation-failure TTL. An attacker can exploit this by spoofing an authoritative response with an invalid signature and a long TTL, causing the bogus result to be cached for up to 24 hours.
A vulnerability in Hickory DNS components hickory-proto (versions 0.25.0 through 0.26.0-alpha.1) and hickory-net (versions before 0.26.2) causes incorrect relational operator logic in the NSEC3 record handling. This flaw allows the last NSEC3 record in a zone's hash ring to incorrectly cover every hash except its owner. An attacker capable of injecting DNS responses can exploit this to replay the NSEC3 record and its RRSIG, forging DNSSEC-validated negative responses that deny legitimate domain names.
Hickory DNS versions hickory-proto through 0.26.0-alpha.1 and hickory-net 0.26.0-beta.1 before 0.26.2 have a DNSSEC validation flaw. The validating recursor's NSEC handler incorrectly accepts parent-side ancestor-delegation NSEC records as proof of nonexistence for names below the zone cut. This flaw allows an attacker to forge an NXDOMAIN response using legitimately signed parent NSEC records, causing an authenticated denial of existing child-zone names cached for the negative TTL.
Hickory DNS versions hickory-proto 0.25.0-alpha.1 through 0.26.0-alpha.1 and hickory-net before 0.26.2 have a logic bug in the DS-fetch path of DnssecDnsHandle. This bug causes transient DS lookup errors such as SERVFAIL, REFUSED, or timeouts to be cached as Bogus DNSSEC validation verdicts. As a result, the validator returns SERVFAIL for all names under the affected child zone until the cache entry's TTL expires.
A vulnerability in DNSSEC validation affects Hickory DNS components hickory-net versions before 0.26.2 and hickory-proto through 0.26.0-alpha.1. The flaw causes the software to incorrectly treat NODATA DNS responses as positive wildcard-expanded responses, allowing an attacker to craft a bogus positive DNS response that passes validation.
Hickory DNS components hickory-net and hickory-proto have a vulnerability in DNSSEC verification where NSEC3 record names are insufficiently checked. The software compares only the hashed label without verifying that the record belongs to the correct DNS zone. This flaw allows attackers to supply NSEC3 records from other zones with matching hash labels to forge DNSSEC nonexistence proofs.