Node.js Releases Urgent Patches for Multiple Vulnerabilities Exposing Systems to DoS and Crashes
## Node.js Security Update - Version 20.20.2 'Iron'
Node.js Security Update - Version 20.20.2 'Iron'
The Node.js project has released a critical security update for its Long-Term Support (LTS) branch, identifying version 20.20.2 'Iron' as a security release. This update addresses seven vulnerabilities affecting TLS error handling, HTTP/2 flow control, cryptographic timing, and permission models. Several of these issues can be exploited remotely without authentication, posing a risk to unpatched servers.
The most severe vulnerability patched in this release is CVE-2026-21637, a high-severity flaw related to an incomplete fix in Node.js TLS error handling. This issue allows exceptions to bypass standard TLS error handlers, potentially leading to a crash of the Node.js process. The update secures SNICallback invocations within a try/catch block to prevent this issue.
Another critical fix addresses CVE-2026-21714, a medium-severity HTTP/2 flow control error involving unhandled nghttp2 error codes. Malicious clients can exploit this by sending malformed WINDOW_UPDATE frames, which may cause a memory leak and lead to a denial-of-service condition. Additionally, CVE-2026-21717 addresses a V8 engine vulnerability that could enable a HashDoS attack through predictable hash collisions.
This update addresses seven vulnerabilities affecting TLS error handling, HTTP/2 flow control, cryptographic timing, and permission models.
Cryptographic and Permission Model Flaws
The update resolves CVE-2026-21713, a medium-severity cryptographic timing oracle in Web Cryptography HMAC verification, by implementing a timing-safe primitive. Two low-severity permission model bypasses, CVE-2026-21715 and CVE-2026-21716, are also addressed, which previously allowed filesystem path disclosure. The release also neutralizes a medium-severity HTTP header prototype pollution vector, CVE-2026-21710.
CVE-2026-21637: High severity, affects TLS/SNICallback, causes remote process crash. CVE-2026-21717: Medium severity, affects V8/JSON parsing, leads to HashDoS/CPU exhaustion. CVE-2026-21713: Medium severity, affects Web Crypto/HMAC, potential MAC forgery. CVE-2026-21714: Medium severity, affects HTTP/2/nghttp2, causes memory leak/DoS. CVE-2026-21710: Medium severity, affects HTTP headers, prototype pollution. CVE-2026-21716: Low severity, affects permission model (fs/promises), filesystem path disclosure. CVE-2026-21715: Low severity, affects permission model (realpath), filesystem path disclosure.
System administrators and developers are advised to upgrade their environments immediately. Given that CVE-2026-21637 requires no authentication and can trigger immediate process termination, updating public-facing TLS servers is critical. Users should update to the following patched releases: v20.20.2, v22.22.2, v24.14.1, or v25.8.2. Installers and binaries are available through official Node.js distribution channels.
Based on reporting by GBHackers.
