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: < 1% Very Low
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 (improper authorization) and CWE-158 (improper restriction of operations within bounds of a memory buffer), allowing 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 24, 2026 at 01:51 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 24, 2026 at 01:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 02 Nov 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sat, 24 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Title Node.js DNS Resolve Function Truncation Enables Hostname Validation Bypass nodejs: nodejs: dns.resolve truncates hostnames containing a NUL character
Weaknesses CWE-158
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Important


Fri, 23 Oct 2026 22:00:00 +0000

Type Values Removed Values Added
First Time appeared Nodejs
Nodejs nodejs
Vendors & Products Nodejs
Nodejs nodejs

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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published:

Updated: 2026-11-02T15:51:54.058Z

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

Link: CVE-2026-105482

cve-icon Vulnrichment

Updated: 2026-11-02T15:51:46.314Z

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-11-02T16:17:23.480

Link: CVE-2026-105482

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-21T00:00:00Z

Links: CVE-2026-105482 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-24T02:00:16Z

Weaknesses
  • CWE-158

    Improper Neutralization of Null Byte or NUL Character

  • CWE-284

    Improper Access Control