-
-
Notifications
You must be signed in to change notification settings - Fork 742
Comparing changes
Open a pull request
base repository: nodejs/undici
base: v7.23.0
head repository: nodejs/undici
compare: v7.24.0
- 8 commits
- 23 files changed
- 3 contributors
Commits on Mar 12, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 5890c7b - Browse repository at this point
Copy the full SHA 5890c7bView commit details -
fix(websocket): add maxDecompressedMessageSize limit for permessage-d…
…eflate Add protection against decompression bomb attacks in WebSocket permessage-deflate extension. A malicious server could send a small compressed payload that expands to an extremely large size, causing memory exhaustion. Changes: - Add maxDecompressedMessageSize option to WebSocket constructor - Default limit: 4 MB - Abort decompression immediately when limit exceeded - Close connection with status code 1009 (Message Too Big) - Add MessageSizeExceededError (UND_ERR_WS_MESSAGE_SIZE_EXCEEDED) - Add comprehensive tests for the new limit behavior - Update TypeScript types and documentation Signed-off-by: Matteo Collina <hello@matteocollina.com>
2Configuration menu - View commit details
-
Copy full SHA for 2ee00cb - Browse repository at this point
Copy the full SHA 2ee00cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4147ce2 - Browse repository at this point
Copy the full SHA 4147ce2View commit details -
fix: validate server_max_window_bits range in permessage-deflate
The isValidClientWindowBits() function only checked for ASCII digits, allowing out-of-range values like "1000" to pass validation. When these values were passed to zlib's createInflateRaw(), it threw an unhandled RangeError that crashed the process. Changes: - Update isValidClientWindowBits() to validate range 8-15 (per RFC 7692) - Add try-catch around createInflateRaw() as defense in depth - Add comprehensive tests for windowBits validation
Configuration menu - View commit details
-
Copy full SHA for cb79c57 - Browse repository at this point
Copy the full SHA cb79c57View commit details -
fix: validate upgrade header to prevent CRLF injection
Add validation for the upgrade option in Request constructor using isValidHeaderValue() to prevent CRLF injection attacks that could enable protocol smuggling to internal services. Signed-off-by: Matteo Collina <hello@matteocollina.com> Co-Authored-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Signed-off-by: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 77594f9 - Browse repository at this point
Copy the full SHA 77594f9View commit details -
Fix websocket 64-bit length overflow
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Configuration menu - View commit details
-
Copy full SHA for 84235c6 - Browse repository at this point
Copy the full SHA 84235c6View commit details -
fix: reject duplicate content-length and host headers
When headers are passed as an array, reject duplicate content-length and host headers regardless of casing. This prevents malformed HTTP/1.1 requests with multiple Content-Length values from being sent on the wire. Previously, case-variant duplicates (e.g., 'Content-Length' and 'content-length') would bypass the duplicate check, resulting in ambiguous HTTP requests that could be interpreted inconsistently by proxies and backends. Signed-off-by: Matteo Collina <hello@matteocollina.com>
Configuration menu - View commit details
-
Copy full SHA for 74495c6 - Browse repository at this point
Copy the full SHA 74495c6View commit details -
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 07a3906 - Browse repository at this point
Copy the full SHA 07a3906View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v7.23.0...v7.24.0