<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Node.js (&lt; 22.23.4, &lt; 24.22.1, &lt; 26.12.1) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/node.js--22.23.4--24.22.1--26.12.1/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 21 Oct 2026 17:05:59 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/node.js--22.23.4--24.22.1--26.12.1/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Node.js: DNS Resolver NUL Byte Truncation (CVE-2026-105482)</title><link>https://feed.craftedsignal.io/briefs/2026-10-nodejs-dns-ssrf/</link><pubDate>Wed, 21 Oct 2026 17:05:59 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-nodejs-dns-ssrf/</guid><description>Node.js is vulnerable to NUL byte truncation in dns.resolve* functions, allowing attackers to bypass allowlist filters and perform SSRF by injecting a NUL character into hostname strings.</description><content:encoded><![CDATA[<p>Node.js versions before 22.23.4, 24.22.1, and 26.12.1 are vulnerable to a NUL byte truncation issue within the <code>dns.resolve*</code> functions. The vulnerability exists because these functions pass hostname strings to the c-ares library, which processes them as C-style strings. When a NUL byte (<code>\0</code>) is included in a hostname (e.g., <code>attacker.com\0.trusted.corp</code>), application-level allowlist checks may evaluate the full string as legitimate, but the underlying DNS resolver truncates the string at the NUL byte, resulting in a query to an attacker-controlled domain. This flaw enables Server-Side Request Forgery (SSRF) against internal services.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker to bypass domain-based allowlists implemented via <code>endsWith</code>, <code>includes</code>, or <code>match</code> functions. This facilitates SSRF attacks against internal infrastructure, including <code>169.254.169.254</code> (metadata services), local services, or restricted internal network assets.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Node.js installations to the patched versions: 22.23.4, 24.22.1, or 26.12.1.</li>
<li>Implement application-level input validation to reject hostnames containing a NUL byte (<code>\0</code>) before passing them to DNS resolution functions.</li>
<li>Audit custom security wrappers that rely on hostname string comparisons to filter outgoing traffic or allowlist internal resources.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>nodejs</category><category>dns</category><category>vulnerability</category></item></channel></rss>