-
-
Notifications
You must be signed in to change notification settings - Fork 35.2k
Comparing changes
Open a pull request
base repository: nodejs/node
base: f657bb8
head repository: nodejs/node
compare: d89bb1b
- 19 commits
- 605 files changed
- 11 contributors
Commits on Feb 24, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 6521f88 - Browse repository at this point
Copy the full SHA 6521f88View commit details
Commits on Mar 19, 2026
-
permission: add permission check to realpath.native
PR-URL: nodejs-private/node-private#794 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Juan JosΓ© Arboleda <soyjuanarbol@gmail.com> Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com> CVE-ID: CVE-2026-21715
Configuration menu - View commit details
-
Copy full SHA for bfdecef - Browse repository at this point
Copy the full SHA bfdecefView commit details -
permission: include permission check on lib/fs/promises
PR-URL: nodejs-private/node-private#795 Reviewed-By: Anna Henningsen <anna@addaleax.net> CVE-ID: CVE-2026-21716
Configuration menu - View commit details
-
Copy full SHA for d6b6051 - Browse repository at this point
Copy the full SHA d6b6051View commit details
Commits on Mar 20, 2026
-
tls: wrap SNICallback invocation in try/catch
Wrap the owner._SNICallback() invocation in loadSNI() with try/catch to route exceptions through owner.destroy() instead of letting them become uncaught exceptions. This completes the fix from CVE-2026-21637 which added try/catch protection to callALPNCallback, onPskServerCallback, and onPskClientCallback but missed loadSNI(). Without this fix, a remote unauthenticated attacker can crash any Node.js TLS server whose SNICallback may throw on unexpected input by sending a single TLS ClientHello with a crafted server_name value. Fixes: https://hackerone.com/reports/3556769 Refs: https://hackerone.com/reports/3473882 CVE-ID: CVE-2026-21637 PR-URL: nodejs-private/node-private#819 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
Configuration menu - View commit details
-
Copy full SHA for df8fbfb - Browse repository at this point
Copy the full SHA df8fbfbView commit details -
http: use null prototype for headersDistinct/trailersDistinct
Use { __proto__: null } instead of {} when initializing the headersDistinct and trailersDistinct destination objects. A plain {} inherits from Object.prototype, so when a __proto__ header is received, dest["__proto__"] resolves to Object.prototype (truthy), causing _addHeaderLineDistinct to call .push() on it, which throws an uncaught TypeError and crashes the process. Ref: https://hackerone.com/reports/3560402 PR-URL: nodejs-private/node-private#821 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> CVE-ID: CVE-2026-21710Configuration menu - View commit details
-
Copy full SHA for 380ea72 - Browse repository at this point
Copy the full SHA 380ea72View commit details -
deps: V8: backport 0a8b1cdcc8b2
Original commit message: implement rapidhash secret generation Bug: 409717082 Change-Id: I471f33d66de32002f744aeba534c1d34f71e27d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6733490 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: snek <snek@chromium.org> Cr-Commit-Position: refs/heads/main@{#101499} Refs: v8/v8@0a8b1cd Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: nodejs-private/node-private#828Configuration menu - View commit details
-
Copy full SHA for af22629 - Browse repository at this point
Copy the full SHA af22629View commit details -
deps: V8: backport 185f0fe09b72
Original commit message: [numbers] Refactor HashSeed as a lightweight view over ByteArray Instead of copying the seed and secrets into a struct with value fields, HashSeed now stores a pointer pointing either into the read-only ByteArray, or the static default seed for off-heap HashSeed::Default() calls. The underlying storage is always 8-byte aligned so we can cast it directly into a struct. Change-Id: I5896a7f2ae24296eb4c80b757a5d90ac70a34866 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7609720 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#105531} Refs: v8/v8@185f0fe Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: nodejs-private/node-private#828Configuration menu - View commit details
-
Copy full SHA for 0450133 - Browse repository at this point
Copy the full SHA 0450133View commit details -
deps: V8: backport 1361b2a49d02
Original commit message: [strings] improve array index hash distribution Previously, the hashes stored in a Name's raw_hash_field for decimal numeric strings (potential array indices) consist of the literal integer value along with the length of the string. This means consecutive numeric strings can have consecutive hash values, which can lead to O(n^2) probing for insertion in the worst case when e.g. a non-numeric string happen to land in the these buckets. This patch adds a build-time flag v8_enable_seeded_array_index_hash that scrambles the 24-bit array-index value stored in a Name's raw_hash_field to improve the distribution. x ^= x >> kShift; x = (x * m1) & kMask; // round 1 x ^= x >> kShift; x = (x * m2) & kMask; // round 2 x ^= x >> kShift; // finalize To decode, apply the same steps with the modular inverses of m1 and m2 in reverse order. x ^= x >> kShift; x = (x * m2_inv) & kMask; // round 1 x ^= x >> kShift; x = (x * m1_inv) & kMask; // round 2 x ^= x >> kShift; // finalize where kShift = kArrayIndexValueBits / 2, kMask = kArrayIndexValueMask, m1, m2 (both odd) are the lower bits of the rapidhash secrets, m1_inv, m2_inv (modular inverses) are precomputed modular inverse of m1 and m2. The pre-computed values are appended to the hash_seed ByteArray in ReadOnlyRoots and accessed in generated code to reduce overhead. In call sites that don't already have access to the seeds, we read them from the current isolate group/isolate's read only roots. To consolidate the code that encode/decode these hashes, this patch adds MakeArrayIndexHash/DecodeArrayIndexFromHashField in C++ and CSA that perform seeding/unseeding if enabled, and updates places where encoding/decoding of array index is needed to use them. Bug: 477515021 Change-Id: I350afe511951a54c4378396538152cc56565fd55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7564330 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#105596} Refs: v8/v8@1361b2a Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: nodejs-private/node-private#828Configuration menu - View commit details
-
Copy full SHA for 87521e9 - Browse repository at this point
Copy the full SHA 87521e9View commit details
Commits on Mar 23, 2026
-
build,test: test array index hash collision
This enables v8_enable_seeded_array_index_hash and add a test for it. Fixes: https://hackerone.com/reports/3511792 PR-URL: nodejs-private/node-private#828 CVE-ID: CVE-2026-21717
Configuration menu - View commit details
-
Copy full SHA for 6fae244 - Browse repository at this point
Copy the full SHA 6fae244View commit details -
src: handle url crash on different url formats
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com> PR-URL: nodejs-private/node-private#816 CVE-ID: CVE-2026-21712
Configuration menu - View commit details
-
Copy full SHA for cba66c4 - Browse repository at this point
Copy the full SHA cba66c4View commit details -
crypto: use timing-safe comparison in Web Cryptography HMAC and KMAC
Use `CRYPTO_memcmp` instead of `memcmp` in `HMAC` and `KMAC` Web Cryptography algorithm implementations. Ref: https://hackerone.com/reports/3533945 PR-URL: nodejs-private/node-private#822 Backport-PR-URL: nodejs-private/node-private#822 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> CVE-ID: CVE-2026-21713
Configuration menu - View commit details
-
Copy full SHA for cc0910c - Browse repository at this point
Copy the full SHA cc0910cView commit details -
src: handle NGHTTP2_ERR_FLOW_CONTROL error code
Refs: https://hackerone.com/reports/3531737 PR-URL: nodejs-private/node-private#832 CVE-ID: CVE-2026-21714
Configuration menu - View commit details
-
Copy full SHA for c015edf - Browse repository at this point
Copy the full SHA c015edfView commit details -
deps: V8: override
depot_toolsversionFor compatibility with Python >= 3.12 we need a newer version of `depot_tools` than is used for the older versions of V8. PR-URL: #62344 Refs: nodejs/build#4278 Reviewed-By: MichaΓ«l Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3dab3c4 - Browse repository at this point
Copy the full SHA 3dab3c4View commit details -
PR-URL: #61892 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9ac0f9f - Browse repository at this point
Copy the full SHA 9ac0f9fView commit details -
PR-URL: #61994 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jordan Harband <ljharb@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 61097db - Browse repository at this point
Copy the full SHA 61097dbView commit details -
PR-URL: #62035 Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com>
Configuration menu - View commit details
-
Copy full SHA for 0885263 - Browse repository at this point
Copy the full SHA 0885263View commit details -
PR-URL: #62233 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f5b8667 - Browse repository at this point
Copy the full SHA f5b8667View commit details -
PR-URL: #62271 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 80cb042 - Browse repository at this point
Copy the full SHA 80cb042View commit details -
2026-03-24, Version 24.14.1 'Krypton' (LTS)
This is a security release. Notable changes: build,deps,test: * (CVE-2026-21717) test array index hash collision crypto: * (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC http: * (CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct permission: * (CVE-2026-21716) include permission check on lib/fs/promises * (CVE-2026-21715) add permission check to realpath.native src: * (CVE-2026-21714) handle NGHTTP2_ERR_FLOW_CONTROL error code * (CVE-2026-21712) handle url crash on different url formats tls: * (CVE-2026-21637) wrap SNICallback invocation in try/catch PR-URL: nodejs-private/node-private#837
Configuration menu - View commit details
-
Copy full SHA for d89bb1b - Browse repository at this point
Copy the full SHA d89bb1bView 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 f657bb8...d89bb1b