Node.js

Node.js

@nodejs.org

The Node.js JavaScript Runtime. 🐢🚀 Need help with Node.js? We've got a repo for that: https://github.com/nodejs/help

11.1K followers2 following92 posts

Node.js reposted

Do all security vulnerabilities need to be fixed in private? With support from the Sovereign Tech Agency, OpenJS is using @nodejs.org to research whether some vulnerabilities can be remediated faster through normal open development without increasing security risk. More: openjsf.org/blog/soverei...

Node.js reposted

Finding vulnerabilities is only part of the work. Maintainers still need resources to triage, patch, and ship secure releases. The new OpenJS Security Stewardship Program will fund researchers and maintainers, starting with Node.js. openjsf.org/blog/openjs-...

Want to contribute to Node.js but don't know where to start? The Node.js Interactive Code and Learn workshop at RenderATL is this Thursday, August 13 — a hands-on session to make your first real contribution to the project.

Node.js reposted

📣 New Node.js release 📣 Node.js 26.7.0 is out with Perfetto tracing support, STORE loaders for private keys, and `module.register()` hooks are now disposable, plus many patches. Full changelog and download links available at nodejs.org/en/blog/rele...

nodejs.orgNode.js — Node.js 26.7.0 (Current)Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

Node.js reposted

Node.js 26.4.0 is out with a new `node:vfs` built-in module (behind `--experimental-vfs` flag). It also adds support for package maps, and many bug fixes, including a fix for a regression shipped with last week security release. Full changelog and download links at nodejs.org/en/blog/rele...

nodejs.orgNode.js — Node.js 26.4.0 (Current)Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Matteo Collina@nodeland.dev

npm install @platformatic/vfs When node:vfs ships in core, migrating is a one-line import change. Full blog post with all the details, code examples, and the story behind the PR: blog.platformatic.dev/why-nodejs-n...

Node.js reposted

#NodeConf EU is back! If you've been working on something worth sharing about #Node.js internals, performance, #developer experience, or anything in between, this is the stage for you! nodeconf.eu See you in Bologna! 🇮🇹

Node.js Interactive returns at RenderATL 2026. Join maintainers, contributors, and developers for two days of talks on Node.js performance, security, AI tooling, infrastructure, and the real world challenges of running JavaScript at scale. https://bit.ly/43aFSBs

⚠️ Node.js 20 is officially End-of-Life. Join members of the Node.js Technical Steering Committee Matteo Collina and Marco Ippolito as we discuss how to navigate this transition safely. 📅 May 27 | 11:00 AM EST 👉 Register for the live session: https://bit.ly/4tzcAqE

The 2026 Node.js London Collaboration Summit trip report is officially live! 🚀 We gathered 50+ contributors to discuss the biggest technical shifts coming to the runtime. Big thanks to Bloomberg for hosting! 🇬🇧 Check out the full recap and recordings here: https://bit.ly/3OHPLmz

bit.lyNode.js — Trip report: Node.js collaboration summit (2026 London)Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

Can a hash be both HashDoS resistant *and* quickly reversible? That's the puzzle we had to tackle in V8 for the March 2026 Node.js security release. For details, check out our blog post (with the math for the curious!). For a quick overview, 🧵 below nodejs.org/en/blog/vuln...

nodejs.orgNode.js — Developing a minimally HashDoS resistant, yet quickly reversible integer hash for V8Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
View full thread

With a security release deadline to meet, we interleaved the hash exploration, statistical evaluation, V8 implementation, and performance testing during the development. More details in the blog post.

The fix has been merged into V8 and can be enabled via `v8_enable_seeded_array_index_hash`. It has been shipped to Node.js v25, v24, v22, and v20 via the March 2026 security release. Upgrade now to to protect your applications from this vulnerability!

Can a hash be both HashDoS resistant *and* quickly reversible? That's the puzzle we had to tackle in V8 for the March 2026 Node.js security release. For details, check out our blog post (with the math for the curious!). For a quick overview, 🧵 below nodejs.org/en/blog/vuln...

nodejs.orgNode.js — Developing a minimally HashDoS resistant, yet quickly reversible integer hash for V8Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
View full thread

This is bijective, efficiently invertible, and the runtime gets to hold the randomly generated keys (multipliers) for security. It fits our threat model, where the adversary cannot see the seed or observe the hash output, and only has a limited attack budget per request.

We identified the vulnerable code paths across V8, refactored to improve efficiency in seed accesses, and implemented the new hash both in runtime C++ and the JIT compiler. Preliminary testing in the classic JavaScript benchmarks showed no noticeable regressions.

Can a hash be both HashDoS resistant *and* quickly reversible? That's the puzzle we had to tackle in V8 for the March 2026 Node.js security release. For details, check out our blog post (with the math for the curious!). For a quick overview, 🧵 below nodejs.org/en/blog/vuln...

nodejs.orgNode.js — Developing a minimally HashDoS resistant, yet quickly reversible integer hash for V8Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
View full thread

To address this, we designed a hash that alternates between xorshift and multiply with randomly generated multipliers. This descends from a family of mixers widely used in the industry. You can find cousins of it in Java's SplittableRandom, MurmurHash3's finalizer, and many others.

In this construction, xorshift propagates info downward, while multiply propagates info upward through carries. They're non-linear in each other's algebra, so the combination breaks the patterns each one preserves.

Can a hash be both HashDoS resistant *and* quickly reversible? That's the puzzle we had to tackle in V8 for the March 2026 Node.js security release. For details, check out our blog post (with the math for the curious!). For a quick overview, 🧵 below nodejs.org/en/blog/vuln...

nodejs.orgNode.js — Developing a minimally HashDoS resistant, yet quickly reversible integer hash for V8Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

HashDoS occurs when an attacker paralyzes a server by sending a small amount of data that causes a huge amount of collisions in the server's hash tables. The standard mitigation is to use a seeded hash, with the seed randomly generated at startup to make the collisions unpredictable.

In CVE-2026-21717, the root cause lied in the unseeded hash V8 used for integer-looking strings, which needs to be quickly reversible to the original integer to maintain V8's performance optimizations. This poses a unique challenge not present in typical string hashing.

⚠️ Security release pre-alert: We will release new versions of 20, 22, 24, 25 release lines on or shortly after 24th March, 2026 in order to address: * 2 high severity issues * 5 medium severity issues * 2 low severity issues nodejs.org/en/blog/vuln...

nodejs.orgNode.js — Tuesday, March 24, 2026 Security ReleasesNode.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.