Skip to content

Commit fbd241c

Browse files
feat(blog): create post for v22.23.5
1 parent c09d468 commit fbd241c

1 file changed

Lines changed: 131 additions & 0 deletions

File tree

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
date: '2026-11-11T16:44:58.310Z'
3+
category: release
4+
title: Node.js 22.23.5 (LTS)
5+
layout: blog-post
6+
author: Antoine du Hamel
7+
---
8+
9+
## 2026-11-11, Version 22.23.5 'Jod' (LTS), @aduh95
10+
11+
This is a security release.
12+
13+
### Notable Changes
14+
15+
- (CVE-2026-123863) http2: release headers when a stream is removed (Matteo Collina) – High
16+
- (CVE-2026-123864) tls,http: prevent nested parser execution from empty writes (Matteo Collina) – High
17+
- (CVE-2026-123865) http2: detect streams abandoned by nghttp2 (Matteo Collina) – High
18+
- (CVE-2026-123866) http2: retain buffers until socket writes finish (Matteo Collina) – High
19+
- (CVE-2026-123872) tls: disable resumption for mTLS with no session id context (Tim Perry) – High
20+
- (CVE-2026-123872) tls: don't allow renegotiation or HRR to change SNI (Tim Perry) – High
21+
- (CVE-2026-123872) tls: don't allow TLS resumption to change SNI (Tim Perry) – High
22+
- (CVE-2026-123874) http2: retain streams during pending writes (Matteo Collina) – High
23+
- (CVE-2026-123828) http2: avoid overflowing ALTSVC buffers (Matteo Collina) – Medium
24+
- (CVE-2026-123867) tls: apply the CA of SNI contexts without a certificate (Matteo Collina) – Medium
25+
- (CVE-2026-123868) http2: charge inbound DATA retained by streams to maxSessionMemory (Matteo Collina) – Medium
26+
- (CVE-2026-123871) http: redact proxy credentials in invalid proxy URL errors (Matteo Collina) – Medium
27+
- (CVE-2026-123875) http2: guard against null write request on cancelled stream (Matteo Collina) – Medium
28+
- (CVE-2026-123877) https: isolate Agent TLS policy keys (Matteo Collina) – Medium
29+
- (CVE-2026-123829) permission: do not leak denied descendants in recursive fs.watch (RafaelGSS) – Low
30+
- (CVE-2026-123862) zlib: handle params callback after destroy (Matteo Collina) – Low
31+
- (CVE-2026-123873) permission: check heap snapshot destination (RafaelGSS) – Low
32+
- deps: update llhttp to 9.4.4 (Antoine du Hamel)
33+
- deps: update sqlite to 3.54.1 (Node.js GitHub Bot)
34+
35+
### Commits
36+
37+
- \[[`554fff40f0`](https://github.com/nodejs/node/commit/554fff40f0)] - **deps**: update llhttp to 9.4.4 (Antoine du Hamel) [nodejs-private/node-private#1038](https://github.com/nodejs-private/node-private/pull/1038)
38+
- \[[`6577cbf231`](https://github.com/nodejs/node/commit/6577cbf231)] - **deps**: update sqlite to 3.54.1 (Node.js GitHub Bot) [#66816](https://github.com/nodejs/node/pull/66816)
39+
- \[[`61d93c6086`](https://github.com/nodejs/node/commit/61d93c6086)] - **deps**: update sqlite to 3.54.0 (Node.js GitHub Bot) [#66663](https://github.com/nodejs/node/pull/66663)
40+
- \[[`cd18f6bdff`](https://github.com/nodejs/node/commit/cd18f6bdff)] - **http**: redact proxy credentials in invalid proxy URL errors (Matteo Collina) [nodejs-private/node-private#1001](https://github.com/nodejs-private/node-private/pull/1001)
41+
- \[[`6cd7e80d68`](https://github.com/nodejs/node/commit/6cd7e80d68)] - **http2**: retain buffers until socket writes finish (Matteo Collina) [nodejs-private/node-private#1017](https://github.com/nodejs-private/node-private/pull/1017)
42+
- \[[`9bce421783`](https://github.com/nodejs/node/commit/9bce421783)] - **http2**: release headers when a stream is removed (Matteo Collina) [nodejs-private/node-private#1026](https://github.com/nodejs-private/node-private/pull/1026)
43+
- \[[`30fd852c0d`](https://github.com/nodejs/node/commit/30fd852c0d)] - **http2**: detect streams abandoned by nghttp2 (Matteo Collina) [#66641](https://github.com/nodejs/node/pull/66641)
44+
- \[[`21fb5d0348`](https://github.com/nodejs/node/commit/21fb5d0348)] - **http2**: guard against null write request on cancelled stream (Matteo Collina) [#67252](https://github.com/nodejs/node/pull/67252)
45+
- \[[`af6fbb6564`](https://github.com/nodejs/node/commit/af6fbb6564)] - **https**: isolate Agent TLS policy keys (Matteo Collina) [nodejs-private/node-private#1036](https://github.com/nodejs-private/node-private/pull/1036)
46+
- \[[`5c9eed3b1e`](https://github.com/nodejs/node/commit/5c9eed3b1e)] - **permission**: do not leak denied descendants in recursive fs.watch (RafaelGSS) [nodejs-private/node-private#967](https://github.com/nodejs-private/node-private/pull/967)
47+
- \[[`5e497aec89`](https://github.com/nodejs/node/commit/5e497aec89)] - **src**: fix the fs permission tree node on wildcard nodes (James M Snell) [nodejs-private/node-private#986](https://github.com/nodejs-private/node-private/pull/986)
48+
- \[[`06af164d09`](https://github.com/nodejs/node/commit/06af164d09)] - **tls**: disable resumption for mTLS with no session id context (Tim Perry) [nodejs-private/node-private#1030](https://github.com/nodejs-private/node-private/pull/1030)
49+
- \[[`209c7e4d83`](https://github.com/nodejs/node/commit/209c7e4d83)] - **tls**: don't allow renegotiation or HRR to change SNI (Tim Perry) [nodejs-private/node-private#1030](https://github.com/nodejs-private/node-private/pull/1030)
50+
- \[[`05e452f075`](https://github.com/nodejs/node/commit/05e452f075)] - **tls**: don't allow TLS resumption to change SNI (Tim Perry) [nodejs-private/node-private#1030](https://github.com/nodejs-private/node-private/pull/1030)
51+
- \[[`67da864a89`](https://github.com/nodejs/node/commit/67da864a89)] - **tls**: apply the CA of SNI contexts without a certificate (Matteo Collina) [nodejs-private/node-private#1020](https://github.com/nodejs-private/node-private/pull/1020)
52+
- \[[`c841c6c7f1`](https://github.com/nodejs/node/commit/c841c6c7f1)] - **tls,http**: prevent nested parser execution from empty writes (Matteo Collina) [nodejs-private/node-private#1021](https://github.com/nodejs-private/node-private/pull/1021)
53+
- \[[`ea159e84dd`](https://github.com/nodejs/node/commit/ea159e84dd)] - **zlib**: handle params callback after destroy (Matteo Collina) [nodejs-private/node-private#1037](https://github.com/nodejs-private/node-private/pull/1037)
54+
55+
Windows 32-bit Installer: https://nodejs.org/dist/v22.23.5/node-v22.23.5-x86.msi \
56+
Windows 64-bit Installer: https://nodejs.org/dist/v22.23.5/node-v22.23.5-x64.msi \
57+
Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.23.5/node-v22.23.5-arm64.msi \
58+
Windows 32-bit Binary: https://nodejs.org/dist/v22.23.5/win-x86/node.exe \
59+
Windows 64-bit Binary: https://nodejs.org/dist/v22.23.5/win-x64/node.exe \
60+
Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.23.5/win-arm64/node.exe \
61+
macOS 64-bit Installer: https://nodejs.org/dist/v22.23.5/node-v22.23.5.pkg \
62+
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-darwin-arm64.tar.gz \
63+
macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-darwin-x64.tar.gz \
64+
Linux 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-linux-x64.tar.xz \
65+
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-linux-ppc64le.tar.xz \
66+
Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-linux-s390x.tar.xz \
67+
AIX 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-aix-ppc64.tar.gz \
68+
ARMv7 32-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-linux-armv7l.tar.xz \
69+
ARMv8 64-bit Binary: https://nodejs.org/dist/v22.23.5/node-v22.23.5-linux-arm64.tar.xz \
70+
Source Code: https://nodejs.org/dist/v22.23.5/node-v22.23.5.tar.gz \
71+
Other release files: https://nodejs.org/dist/v22.23.5/ \
72+
Documentation: https://nodejs.org/docs/v22.23.5/api/
73+
74+
### SHASUMS
75+
76+
```
77+
-----BEGIN PGP SIGNED MESSAGE-----
78+
Hash: SHA256
79+
80+
f0dda0bae79678ab6eb3ca02179f4fe534463ce6f68ab942d2b49b057e478433 node-v22.23.5-aix-ppc64.tar.gz
81+
e01778455a929fa3b88ba102cca9527a9b39ca1c9fad1426c216e5e6d81b1a5a node-v22.23.5-arm64.msi
82+
e7131995759b61a0170b646010d2ad35a5d37b4cb0d471f3e8317eac6f742f3d node-v22.23.5-darwin-arm64.tar.gz
83+
d0c68c321161bb2c6483efea9a343010dea8e5e7f60d73c6a7eba140016d662f node-v22.23.5-darwin-arm64.tar.xz
84+
c53383238206b9ae4db23c5d8a63645e2e753bec8ab51a49cc81939aa64e9422 node-v22.23.5-darwin-x64.tar.gz
85+
d68bf234a07781141dfca61ae4461c24560f70bd53223d76a41529eb02e8554e node-v22.23.5-darwin-x64.tar.xz
86+
be890e343a72acd49e3b0491aefdc55400ed8a8fa29272d2d1ad19823e80035f node-v22.23.5-headers.tar.gz
87+
ca152fdc8599c56eb2d1c44c58f5abf6dc97a69cddf94edcface9f727f608e1d node-v22.23.5-headers.tar.xz
88+
8bd3dc69eee8f3f226315a80d7d1d4faccf217a4c8fae500168ac2e38f3bdba3 node-v22.23.5-linux-arm64.tar.gz
89+
2babb9eb5264860d540849f4b064a6fbdebcdc323657d9d382ce23d313fd5e09 node-v22.23.5-linux-arm64.tar.xz
90+
02cd221808721481ba3edd8b51624a391b45357543b8144e6ff7aac35e1500ac node-v22.23.5-linux-armv7l.tar.gz
91+
1c3e15d38e4cafbbf74377ac070cd9d7e0418c673e1f6332f38f1d4762a699f9 node-v22.23.5-linux-armv7l.tar.xz
92+
de46a027eeb3942d589da63f2c5734e73d5c53aac8245e75088a1ac13bda2e04 node-v22.23.5-linux-ppc64le.tar.gz
93+
578bc696ade54f85439f6fdd5bd7695c2dea40d307565f573b9ea6ad7b1e5615 node-v22.23.5-linux-ppc64le.tar.xz
94+
50f8e113bf6638bb9d5ae6620883fd90b98e8e1f7af10ef87cca9dc979cdb39b node-v22.23.5-linux-s390x.tar.gz
95+
210232af4b947a70880b985207cb307a8fb310b62c1925bdd971b0eaab96bde0 node-v22.23.5-linux-s390x.tar.xz
96+
83b8ba916eb22e89ba8274426a40f7aa0011c6e4c5ff77a5b03793f781a90786 node-v22.23.5-linux-x64-musl.tar.gz
97+
aef6690916d4b4210b55618ea0beeb927d67184257879b1ebec6e309285f3c08 node-v22.23.5-linux-x64-musl.tar.xz
98+
c54118104acc524633b5abe106bbf44a53126ec8b4e5fa105cb92b5d7de8a1a1 node-v22.23.5-linux-x64.tar.gz
99+
cdeb8670a0c81f51b4dc4ac61919f9b1ad917b304bf8221eb939570663d240f8 node-v22.23.5-linux-x64.tar.xz
100+
89fadefd7798158d8990ca9ed7dbb58f8ca7593adb92fe3da8a445db99415533 node-v22.23.5.pkg
101+
5ae198a2ec0513ea8b7ef28f71094c9a7931a44e4db17b1734d76fe958e0ff36 node-v22.23.5.tar.gz
102+
6cce7c58bf058700c643944903d60a325e8c9ceede1f5c2c088b435f2ada091a node-v22.23.5.tar.xz
103+
f863a9fc7bd478d00aac4020cf9a75d81dba59ae078cc30c39bb0792a497cd96 node-v22.23.5-win-arm64.7z
104+
c1856817f611738c77534efbff8a5a17990593eab24046bc8d2c23a77a160d13 node-v22.23.5-win-arm64.zip
105+
aac7072c663c5efa2147aa7d51022d56efb1aa75c7dd0a3e7582501c692a045a node-v22.23.5-win-x64.7z
106+
4a191082e9706866830379d577d2cc8a50c776fcd9436a8d061b063ed0d9a0e3 node-v22.23.5-win-x64.zip
107+
423dd2a38fbf7df6142242e7a10ee845389efe114577c47f359a28066deea2b5 node-v22.23.5-win-x86.7z
108+
9c01245683c87e3f81eedfbad82c1665611749627cd1b0b5a42921db9361b4a6 node-v22.23.5-win-x86.zip
109+
963a110509eca7e0d6cc009095ccb4117e26d59287876a056b79293ae3fef238 node-v22.23.5-x64.msi
110+
0118588f943cd620c66a688edca3d33231feeae2d0ae391cff0ef00e44d522e2 node-v22.23.5-x86.msi
111+
c2eaa48231229b966bfef21554df203221862a9fc94ec2a6908aad5eaa6c0ba0 win-arm64/node.exe
112+
5378f5bad777b4929d1cd4f58974e0ef03815ce5c159863f1875c4b434460c27 win-arm64/node.lib
113+
974f58f3978b9302a5f842979694c27ab3a544cc3e52bd9ab8e9ba0429be5aef win-arm64/node_pdb.7z
114+
cbff923c9d6397394e119fb05437f28b31efdb90afcb519a655f987430a983f7 win-arm64/node_pdb.zip
115+
247e9693d316da9857e44990e5e11709f596f18112251b8026ec6eed80bdf38a win-x64/node.exe
116+
c243185f2347870cadb637c909bf123fc703dc65dbfa769b17ec45a4b661d782 win-x64/node.lib
117+
03dabf86832838fbcb92816c11ee5fd59864c79573931177654b27dc7c4092ff win-x64/node_pdb.7z
118+
82dd773a53ce2aaacaf41014ee81caa82e5bc2ed2b8e72f4764201c662b52995 win-x64/node_pdb.zip
119+
a6f12cfaa84f16d1cfb36ccca361e155acee9e8a4e47fdc3a684cda361ad245a win-x86/node.exe
120+
eff47cc18fe2d3e40886cd49f04a85134681657d8b0f2afc55f363743cf6ddd7 win-x86/node.lib
121+
21a4e0bea77234963c96e14e01d147be604b320ee692c6927aff61f59418e59c win-x86/node_pdb.7z
122+
0e417cff977767812ff81c98f420a514f83193e7ca799bcb1cff99a659a0b983 win-x86/node_pdb.zip
123+
124+
-----BEGIN PGP SIGNATURE-----
125+
126+
iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCavSZnAAKCRAgsaOQsWjT
127+
Vj01APwPC7+mOBYsepjXXr42B+d4UiWxpfUlX9PplsLbvTLojAD/TxXm1ctPiszb
128+
QS5t+HXqDJrH0/fKcE/e8ZY43hHZyAk=
129+
=W25e
130+
-----END PGP SIGNATURE-----
131+
```

0 commit comments

Comments
 (0)