<?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-Recursor — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/hickory-recursor/</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>Thu, 30 Apr 2026 18:10:58 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/hickory-recursor/feed.xml" rel="self" type="application/rss+xml"/><item><title>Hickory DNS Recursor Cache Poisoning via Sibling Zone Delegation</title><link>https://feed.craftedsignal.io/briefs/2024-11-hickory-dns-poisoning/</link><pubDate>Thu, 30 Apr 2026 18:10:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-11-hickory-dns-poisoning/</guid><description>The experimental `hickory-recursor` crate in Hickory DNS is vulnerable to cross-zone cache poisoning due to storing DNS records keyed by record name/type instead of query, enabling an attacker to redirect queries for a victim zone to an attacker-controlled nameserver.</description><content:encoded><![CDATA[<p>The Hickory DNS project&rsquo;s experimental <code>hickory-recursor</code> crate, now integrated into <code>hickory-resolver</code> under the <code>recursor</code> feature, contains a vulnerability in its DNS record cache (<code>DnsLru</code>). The cache stores records based on the record&rsquo;s name and type, rather than the originating query. This design flaw allows for cross-zone cache poisoning because the <code>cache_response()</code> function chains <code>ANSWER</code>, <code>AUTHORITY</code>, and <code>ADDITIONAL</code> sections into a single record iterator during insertion. The bailiwick filter uses the zone context of the NS pool that serviced the lookup, leading to improper validation of records from sibling zones. This issue affects all published versions of the experimental <code>hickory-recursor</code> crate prior to its integration into <code>hickory-resolver</code> 0.26.0. Users of the <code>hickory-dns</code> binary configured with the <code>recursor</code> feature are affected.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker registers the domain <code>attacker.poc.</code> and sets up a malicious nameserver.</li>
<li>Hickory DNS server queries the nameserver for <code>attacker.poc.</code> to build its NS pool.</li>
<li>The attacker&rsquo;s nameserver responds with an <code>AUTHORITY</code> section that includes a malicious record delegating a sibling zone, such as <code>victim.poc.</code>, to <code>ns.evil.poc.</code>.</li>
<li>The Hickory DNS server&rsquo;s bailiwick check incorrectly validates the malicious <code>victim.poc. NS ns.evil.poc.</code> record because <code>victim.poc.</code> is a subdomain of the parent zone <code>poc.</code>.</li>
<li>The malicious NS record for <code>victim.poc.</code> is stored in the cache, keyed by <code>(victim.poc., NS)</code>.</li>
<li>A client queries the Hickory DNS server for a name within the <code>victim.poc.</code> zone.</li>
<li>Hickory DNS server builds its NS pool for <code>victim.poc.</code> using the poisoned cache entry, directing queries to <code>ns.evil.poc.</code>.</li>
<li>The attacker&rsquo;s nameserver now receives queries intended for the legitimate <code>victim.poc.</code> nameserver, allowing the attacker to intercept and manipulate DNS resolution.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to redirect DNS queries for a target domain to an attacker-controlled nameserver. This can lead to various malicious activities, including phishing attacks, man-in-the-middle attacks, and the distribution of malware. The vulnerability affects any system using Hickory DNS with the <code>recursor</code> feature enabled, potentially impacting a wide range of users relying on the resolver for DNS resolution. If the targeted domain is critical for service delivery (e.g., email, web), the impact could be significant.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>hickory-resolver</code> version 0.26.0 or later with the <code>recursor</code> feature enabled to address the vulnerability as described in the advisory (<a href="https://github.com/advisories/GHSA-83hf-93m4-rgwq">https://github.com/advisories/GHSA-83hf-93m4-rgwq</a>).</li>
<li>If upgrading is not immediately feasible, disable the <code>recursor</code> feature in <code>hickory-dns</code> to prevent exploitation.</li>
<li>Implement monitoring for unexpected NS record changes, focusing on <code>AUTHORITY</code> sections of DNS responses, using a custom rule based on your environment and typical DNS configurations.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>dns</category><category>cache-poisoning</category><category>zone-delegation</category></item></channel></rss>