<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Hickory-Proto (0.25.0-Alpha.3 to 0.25.2) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/hickory-proto-0.25.0-alpha.3-to-0.25.2/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/hickory-proto-0.25.0-alpha.3-to-0.25.2/feed.xml" rel="self" type="application/rss+xml"/><item><title>Hickory DNS NSEC3 Validation Vulnerability Leads to DoS</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-hickory-dns-dos/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-hickory-dns-dos/</guid><description>A vulnerability in Hickory DNS's NSEC3 closest-encloser proof validation allows a remote attacker to cause a denial of service by exhausting memory when processing crafted DNS responses with mismatched SOA records.</description><content:encoded><![CDATA[<p>Hickory DNS is vulnerable to a denial-of-service (DoS) attack due to an unbounded loop in its NSEC3 closest-encloser proof validation. This affects <code>hickory-proto</code> versions 0.25.0-alpha.3 through 0.25.2 and <code>hickory-net</code> versions 0.26.0-alpha.1 through 0.26.0. The vulnerability resides within the <code>DnssecDnsHandle</code> component, specifically when built with the <code>dnssec-ring</code> or <code>dnssec-aws-lc-rs</code> feature and configured to perform DNSSEC validation. The issue occurs when validating NoData or NXDomain responses where the authority section contains a Start of Authority (SOA) record from a zone that is not an ancestor of the queried name (QNAME). An attacker who can return such a specially crafted response can trigger the unbounded loop, leading to excessive memory allocation and ultimately causing the process to crash or become unresponsive. The affected code was migrated from <code>hickory-proto</code> to <code>hickory-net</code> as part of the 0.26.0 release.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious DNS server or compromises an existing one.</li>
<li>The attacker configures the DNS server to respond to DNS queries with a specially crafted DNS response.</li>
<li>The crafted DNS response includes an SOA record in the authority section that is not an ancestor of the QNAME.</li>
<li>A vulnerable Hickory DNS resolver, recursor, or client initiates a DNS query that is routed to the malicious DNS server.</li>
<li>The vulnerable <code>DnssecDnsHandle</code> in Hickory DNS receives the crafted DNS response.</li>
<li>During NSEC3 closest-encloser proof validation, the code enters an unbounded loop.</li>
<li>The loop repeatedly calls <code>Name::base_name()</code> and pushes newly allocated <code>Name</code> and hashed-name entries into a candidate <code>Vec</code>, consuming memory.</li>
<li>The process exhausts available memory, resulting in a denial-of-service condition.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can lead to a denial-of-service condition. Attackers can remotely crash debug builds of applications using the affected Hickory DNS versions, or exhaust memory in release builds. The number of victims depends on the number of applications using vulnerable versions of Hickory DNS and exposed to malicious DNS responses. This can affect any application using Hickory DNS for DNSSEC validation, including resolvers and clients.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>hickory-net</code> version 0.26.1 to remediate the vulnerability. This is the recommended fix from Hickory DNS as stated in the overview.</li>
<li>Monitor memory usage of applications using <code>hickory-proto</code> (0.25.0-alpha.3 &hellip; 0.25.2) and <code>hickory-net</code> (0.26.0-alpha.1 .. 0.26.0). An unusual increase in memory allocation could indicate an attempted exploitation.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>dnssec</category><category>memory-exhaustion</category></item></channel></rss>