CVE-2026-21712: A flaw in Node.js URL processing causes an assertion failure in native code when `url.format()` is called w...
A flaw in Node.js URL processing causes an assertion failure in native code when `url.format()` is called with a malformed internationalized domain name (IDN) containing invalid characters, crashing the Node.js process.
Security readout for executives and security teams
Plain-English summary
A bug in Node.js can crash a running application when it processes a specially crafted web address containing invalid international domain characters. An attacker who can influence URLs handled by the server can force the process to terminate, interrupting service availability until the process restarts.
Executive priority
Plan a routine patch cycle. This is a denial-of-service issue with no data exposure, but internet-facing Node.js applications could be crashed by a malformed URL. Schedule the Node.js update in the next maintenance window and prioritize internet-exposed services.
Technical view
Node.js triggers a native assertion failure in `url.format()` when given a malformed internationalized domain name (IDN) with invalid characters, terminating the process. Tracked as CWE-20 (improper input validation), it carries CVSS 3.0 5.7 (AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H). Fixed Node.js releases per the March 2026 security advisory are 24.14.0 and 25.8.1.
Likely exposure
Any Node.js service that calls `url.format()` on attacker-influenced or user-supplied URL input is exposed. Typical exposure includes web frontends, API gateways, link previewers, webhook handlers, crawlers, and SSR applications that normalize or echo URLs received from clients or upstream systems.
Exploitation context
No active exploitation is cited; the CVE is not in CISA KEV. The vector is network-reachable with low complexity but requires some privileges and user interaction per the CVSS string. Impact is limited to availability (process crash); confidentiality and integrity are unaffected. A HackerOne report (#3546390) is referenced as the disclosure channel.
Researcher notes
Root cause is a native-layer assertion in URL/IDN handling reached via `url.format()`. CVSS 5.7 reflects availability-only impact with PR:L and UI:R. Fixed versions listed in the source bundle are 24.14.0 and 25.8.1; verify against the official Node.js March 2026 advisory for the full set of supported branches. HackerOne report 3546390 is referenced but may be restricted.
Mitigation direction
Upgrade Node.js to 24.14.0, 25.8.1, or later per the March 2026 advisory.
Validate and reject malformed IDN/URL input at application boundaries before parsing.
Run Node.js services under a supervisor that auto-restarts on crash to limit downtime.
Inventory services using `url.format()` and prioritize patching for internet-exposed workloads.
Review vendor guidance from nodejs.org for any additional configuration recommendations.
Validation and detection
Run `node -v` across hosts and containers to confirm the installed Node.js version.
Check base images, CI pipelines, and Lambda/serverless runtimes for outdated Node.js versions.
Search application code for `url.format()` usage on externally sourced URLs.
Confirm patched releases match the March 2026 Node.js security advisory.
Monitor process supervisors and logs for unexpected crashes consistent with assertion failures.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-20: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.