Software 44227 Published by

Node.js has pushed out a critical security update for versions 25, 24, and 22 that patches several high-severity vulnerabilities. These fixes address dangerous issues like permission bypasses in file system operations and potential crashes during TLS handshakes or URL parsing. Ignoring this patch leaves applications exposed to side-channel attacks that could leak secrets or allow unauthorized access to local resources. Teams should switch to the new binaries immediately using their preferred version manager before deploying to production environments.



Node.js Security Release Fixes Critical Vulnerabilities In Versions 25, 24 And 22

The latest Node.js security release lands for versions 25, 24 and 22 with a heavy focus on fixing known vulnerabilities. Teams running these environments should prioritize updating immediately since several issues allow attackers to bypass permission checks or crash the runtime unexpectedly. This update addresses seven distinct CVEs ranging from high to medium severity across different modules like HTTP and TLS.

Why this Node.js security release matters now

It is easy to ignore patch notes until something breaks in production but waiting for a breach feels like bad strategy. The maintainers fixed a high severity issue where SNICallback invocation was not wrapped properly which can lead to crashes during TLS handshakes. Another critical fix involves using timing-safe comparison for Web Cryptography HMAC and KMAC operations to prevent side-channel attacks that could expose secrets over time. Developers have seen applications fail silently when handling different URL formats so the new crash handler aims to stop those unexpected exits before they cause data loss.

What changed in the HTTP and File System modules

The update includes permission checks on several file system operations which prevents unauthorized access even if a script gains elevated privileges unexpectedly. Headers and trailers now use null prototypes to stop prototype pollution attacks that have plagued Node.js applications for years. Updates to undici and npm accompany these core fixes to ensure the HTTP client and package manager stay aligned with the new security posture. V8 gets a depot_tools override which helps maintain build stability across different environments without manual intervention from developers.

How to apply the Node.js security release safely

Updating via version managers like nvm or fnm allows for quick switching between LTS and current branches without breaking existing projects. It is best to test the new runtime in a staging environment first since permission changes might affect scripts that rely on legacy behavior. Running npm outdated before installation helps identify which dependencies need manual adjustment after the underlying engine upgrades. Once verified, deploying to production ensures all instances run the patched binaries to close the security gaps immediately.

Node.js — Node.js 25.8.2 (Current)

Node.js:registered: is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

Node.js — Node.js 25.8.2 (Current)

Node.js — Node.js 24.14.1 (LTS)

Node.js:registered: is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

Node.js — Node.js 24.14.1 (LTS)

Node.js — Node.js 22.22.2 (LTS)

Node.js:registered: is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

Node.js — Node.js 22.22.2 (LTS)