Description
A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the dns.resolve*() functions and dns.reverse(). This is an incomplete fix of CVE-2026-48930, which only covered dns.lookup() and the net/tls host options.

Because the name is passed to c-ares as a C string, resolving attacker.example\0.trusted.example queries attacker.example and returns its records without any error. Applications that validate a hostname, for example against a domain allowlist, and then resolve it with dns.resolve*() can act on records for a different name than the one they validated.

This vulnerability affects Node.js 26.x, 24.x, and 22.x.
Published: 2026-10-23
Score: 7.4 High
EPSS: n/a
KEV: No
Impact: Unauthorized DNS resolution bypass
Action: Patch Now
AI Analysis

Impact

A Node.js DNS resolution flaw permits hostnames containing a NUL byte to be silently truncated by the dns.resolve*() functions and dns.reverse(). The C string passed to c-ares resolves only the portion before the NUL, returning records for the truncated name without signalling an error. Because applications often validate a hostname against a whitelist before calling dns.resolve(), the truncation allows an attacker to bypass that validation, causing the application to operate on DNS records for a completely different domain. This deficiency is categorized as CWE‑284, an improper authorization weakness that can lead to unauthorized access or data leakage.

Affected Systems

The vulnerability affects the Node.js runtime provided by nodejs:node for the 26.x, 24.x, and 22.x series of releases. The issue is present in the dns module starting in the affected Node.js versions and persists until the published security release that contains the correct handling of NUL characters.

Risk and Exploitability

The CVSS score of 7.4 indicates a high‑severity weakness that can be exploited if the application receives untrusted hostnames. While the EPSS score is not available, the flaw is not listed in the CISA KEV catalog, suggesting no known widespread exploitation yet. Exploitation requires an application that validates hostnames but subsequently resolves them with dns.resolve* or dns.reverse; the attacker can craft a hostname containing a NUL byte, causing the function to resolve a different domain. The impact depends on the application’s use of the resolved records, potentially enabling data exposure or denial of service in vulnerable code paths.

Generated by OpenCVE AI on October 23, 2026 at 17:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Node.js to the latest release that includes the DNS NUL byte handling fix.
  • Ensure that any hostname validation logic explicitly rejects names containing NUL bytes before passing them to dns.resolve* or dns.reverse.
  • If upgrading Node.js is not immediately possible, replace dns.resolve* calls with dns.lookup or add a pre‑resolution filter that strips or rejects null characters to prevent traversal of the invalid name.

Generated by OpenCVE AI on October 23, 2026 at 17:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
Title Node.js DNS Resolve Function Truncation Enables Hostname Validation Bypass

Fri, 23 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Description A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the dns.resolve*() functions and dns.reverse(). This is an incomplete fix of CVE-2026-48930, which only covered dns.lookup() and the net/tls host options. Because the name is passed to c-ares as a C string, resolving attacker.example\0.trusted.example queries attacker.example and returns its records without any error. Applications that validate a hostname, for example against a domain allowlist, and then resolve it with dns.resolve*() can act on records for a different name than the one they validated. This vulnerability affects Node.js 26.x, 24.x, and 22.x.
Weaknesses CWE-284
References
Metrics cvssV3_0

{'score': 7.4, 'vector': 'CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published:

Updated: 2026-10-23T16:15:05.831Z

Reserved: 2026-10-05T15:00:00.729Z

Link: CVE-2026-105482

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-23T17:17:19.427

Modified: 2026-10-23T19:42:24.553

Link: CVE-2026-105482

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T17:30:17Z

Weaknesses