The Wire · Showcase
UNDICI PATCHES CHUNKED RESPONSE VALIDATION HOLE AS NODE-GYP PIVOTS TO v26
By RepoJournal · Filed · About Node.js
Undici fixed a critical gap where EOF on chunked HTTP/1.1 responses could slip through without validating the terminating chunk, while node-gyp simultaneously dropped v20 from CI and landed full v26 support.
The undici team closed a real vulnerability in response parsing [1]—EOF-delimited responses were passing validation without checking for proper chunked encoding termination, a gap that could allow truncated responses to be treated as complete. That fix arrives alongside performance wins: stream handler overhead cuts [2] by replacing stream.finished() with targeted writable lifecycle tracking, and HTTP/2 client improvements [3] through handler reuse. Meanwhile, a type correctness fix [4] removes throwOnError from Dispatcher.RequestOptions, aligning the type signatures with v7's actual API. On the build side, node-gyp killed v20 from its test matrix [5] and added v26 support [6], with undici's fetch import wired in [7]. The dist-indexer bumped semver to 7.8.0 [8], bringing new features to version parsing across the ecosystem.
Action items
- → Upgrade undici to the latest patch — the chunked response validation fix prevents malformed responses from being accepted nodejs/undici [immediate]
- → Update node-gyp to pick up Node.js v26 support for native module builds nodejs/node-gyp [plan]
- → If you maintain TypeScript definitions for undici, remove throwOnError from Dispatcher.RequestOptions nodejs/undici [plan]
References
- [1] fix: validate EOF for chunked h1 responses ↗ nodejs/undici
- [2] fix: replace finished() with writable lifecycle tracking ↗ nodejs/undici
- [3] perf(client-h2): reuse request stream handlers ↗ nodejs/undici
- [4] fix(types): remove throwOnError from Dispatcher.RequestOptions (#5279) nodejs/undici
- [5] fix: stop testing end-of-life Node.js v20 (#3315) nodejs/node-gyp
- [6] support Node.js 26 (#3311) nodejs/node-gyp
- [7] fix: test on Node.js v26 (#3314) nodejs/node-gyp
- [8] chore(deps): bump semver from 7.7.4 to 7.8.0 ↗ nodejs/nodejs-dist-indexer
FAQ
- What changed in Node.js on May 12, 2026?
- Undici fixed a critical gap where EOF on chunked HTTP/1.1 responses could slip through without validating the terminating chunk, while node-gyp simultaneously dropped v20 from CI and landed full v26 support.
- What should Node.js teams do about it?
- Upgrade undici to the latest patch — the chunked response validation fix prevents malformed responses from being accepted • Update node-gyp to pick up Node.js v26 support for native module builds • If you maintain TypeScript definitions for undici, remove throwOnError from Dispatcher.RequestOptions
- Which Node.js repositories shipped on May 12, 2026?
- nodejs/undici, nodejs/node-gyp, nodejs/nodejs-dist-indexer