Skip to content

Commit 26badaa

Browse files
committed
2026-06-18, Version 22.23.0 'Jod' (LTS)
This is a security release. Notable changes: * (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) – High * (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) – High * (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 (Tim Perry) – Medium * (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) – Medium * (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) – Medium * (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) – Medium * (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) – Medium * (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) – Medium * (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) – Low * (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) – Low * (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) – Low PR-URL: nodejs-private/node-private#898
1 parent 6a8808a commit 26badaa

5 files changed

Lines changed: 66 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ release.
7272
<a href="doc/changelogs/CHANGELOG_V24.md#24.0.0">24.0.0</a><br/>
7373
</td>
7474
<td valign="top">
75-
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.22.3">22.22.3</a></b><br/>
75+
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.23.0">22.23.0</a></b><br/>
76+
<a href="doc/changelogs/CHANGELOG_V22.md#22.22.3">22.22.3</a><br/>
7677
<a href="doc/changelogs/CHANGELOG_V22.md#22.22.2">22.22.2</a><br/>
7778
<a href="doc/changelogs/CHANGELOG_V22.md#22.22.1">22.22.1</a><br/>
7879
<a href="doc/changelogs/CHANGELOG_V22.md#22.22.0">22.22.0</a><br/>

doc/api/deprecations.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4262,7 +4262,9 @@ an internal nodejs implementation rather than a public facing API, use `node:str
42624262

42634263
<!-- YAML
42644264
changes:
4265-
- version: v24.2.0
4265+
- version:
4266+
- v24.2.0
4267+
- v22.23.0
42664268
pr-url: https://github.com/nodejs/node/pull/58293
42674269
description: End-of-Life.
42684270
- version:

doc/api/errors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1770,7 +1770,7 @@ as specified through the `maxSessionInvalidFrames` option, has been exceeded.
17701770
### `ERR_HTTP2_TOO_MANY_ORIGINS`
17711771

17721772
<!-- YAML
1773-
added: REPLACEME
1773+
added: v22.23.0
17741774
-->
17751775

17761776
The number of uniq origin sent by the server has exceeded the value defined in

doc/api/http2.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,9 @@ The `'origin'` event is only emitted when using a secure TLS connection.
10711071
<!-- YAML
10721072
added: v8.4.0
10731073
changes:
1074-
- version: v24.2.0
1074+
- version:
1075+
- v24.2.0
1076+
- v22.23.0
10751077
pr-url: https://github.com/nodejs/node/pull/58293
10761078
description: The `weight` option is now ignored, setting it will trigger a
10771079
runtime warning.
@@ -1493,7 +1495,9 @@ deprecated:
14931495
- v22.17.0
14941496
- v20.19.6
14951497
changes:
1496-
- version: v24.2.0
1498+
- version:
1499+
- v24.2.0
1500+
- v22.23.0
14971501
pr-url: https://github.com/nodejs/node/pull/58293
14981502
description: This method no longer sets the priority of the stream. Using it
14991503
now triggers a runtime warning.
@@ -1599,7 +1603,9 @@ req.setTimeout(5000, () => req.close(NGHTTP2_CANCEL));
15991603
<!-- YAML
16001604
added: v8.4.0
16011605
changes:
1602-
- version: v24.2.0
1606+
- version:
1607+
- v24.2.0
1608+
- v22.23.0
16031609
pr-url: https://github.com/nodejs/node/pull/58293
16041610
description: The `state.weight` property is now always set to 16 and
16051611
`sumDependencyWeight` is always set to 0.

doc/changelogs/CHANGELOG_V22.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
</tr>
1010
<tr>
1111
<td>
12+
<a href="#22.23.0">22.23.0</a><br/>
1213
<a href="#22.22.3">22.22.3</a><br/>
1314
<a href="#22.22.2">22.22.2</a><br/>
1415
<a href="#22.22.1">22.22.1</a><br/>
@@ -75,6 +76,56 @@
7576
* [io.js](CHANGELOG_IOJS.md)
7677
* [Archive](CHANGELOG_ARCHIVE.md)
7778

79+
<a id="22.23.0"></a>
80+
81+
## 2026-06-18, Version 22.23.0 'Jod' (LTS), @aduh95
82+
83+
This is a security release.
84+
85+
### Notable Changes
86+
87+
* (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) – High
88+
* (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) – High
89+
* (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 – Medium
90+
* (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) – Medium
91+
* (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) – Medium
92+
* (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) – Medium
93+
* (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) – Medium
94+
* (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) – Medium
95+
* (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) – Low
96+
* (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) – Low
97+
* (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) – Low
98+
99+
### Commits
100+
101+
* \[[`38b4c5ed51`](https://github.com/nodejs/node/commit/38b4c5ed51)] - **(CVE-2026-48933)** **crypto**: guard WebCrypto cipher output length (Filip Skokan) [nodejs-private/node-private#878](https://github.com/nodejs-private/node-private/pull/878)
102+
* \[[`ad8a10c1bb`](https://github.com/nodejs/node/commit/ad8a10c1bb)] - **deps**: update llhttp to 9.4.2 (Antoine du Hamel) [nodejs-private/node-private#890](https://github.com/nodejs-private/node-private/pull/890)
103+
* \[[`ca825a87cc`](https://github.com/nodejs/node/commit/ca825a87cc)] - **deps**: update undici to 6.27.0 (aduh95) [#63711](https://github.com/nodejs/node/pull/63711)
104+
* \[[`a1a5bb9683`](https://github.com/nodejs/node/commit/a1a5bb9683)] - **(CVE-2026-48937)** **deps**: fix integration issues with the latest nghttp2 (Tim Perry) [#62891](https://github.com/nodejs/node/pull/62891)
105+
* \[[`0f48583512`](https://github.com/nodejs/node/commit/0f48583512)] - **(SEMVER-MAJOR)** **deps**: update nghttp2 to 1.69.0 (Node.js GitHub Bot) [#62891](https://github.com/nodejs/node/pull/62891)
106+
* \[[`38c869fc05`](https://github.com/nodejs/node/commit/38c869fc05)] - **deps**: update nghttp2 to 1.68.0 (nodejs-github-bot) [#61136](https://github.com/nodejs/node/pull/61136)
107+
* \[[`290667c84f`](https://github.com/nodejs/node/commit/290667c84f)] - **deps**: update nghttp2 to 1.67.1 (nodejs-github-bot) [#59790](https://github.com/nodejs/node/pull/59790)
108+
* \[[`c9f3da76aa`](https://github.com/nodejs/node/commit/c9f3da76aa)] - **deps**: update nghttp2 to 1.66.0 (Node.js GitHub Bot) [#58786](https://github.com/nodejs/node/pull/58786)
109+
* \[[`60890be563`](https://github.com/nodejs/node/commit/60890be563)] - **deps**: update nghttp2 to 1.65.0 (Node.js GitHub Bot) [#57269](https://github.com/nodejs/node/pull/57269)
110+
* \[[`5024c7d5d8`](https://github.com/nodejs/node/commit/5024c7d5d8)] - **deps**: update archs files for openssl-3.5.7 (Node.js GitHub Bot) [#63820](https://github.com/nodejs/node/pull/63820)
111+
* \[[`7f4eb5af2e`](https://github.com/nodejs/node/commit/7f4eb5af2e)] - **deps**: upgrade openssl sources to openssl-3.5.7 (Node.js GitHub Bot) [#63820](https://github.com/nodejs/node/pull/63820)
112+
* \[[`ebb4ec78a8`](https://github.com/nodejs/node/commit/ebb4ec78a8)] - **deps**: fix aix implicit declaration in OpenSSL (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
113+
* \[[`5763d40826`](https://github.com/nodejs/node/commit/5763d40826)] - **deps**: update llhttp to 9.4.1 (Node.js GitHub Bot) [#63045](https://github.com/nodejs/node/pull/63045)
114+
* \[[`c551a51d0c`](https://github.com/nodejs/node/commit/c551a51d0c)] - **(CVE-2026-48930)** **dns,net**: reject hostnames with embedded NUL bytes (Matteo Collina) [nodejs-private/node-private#868](https://github.com/nodejs-private/node-private/pull/868)
115+
* \[[`0a22d40180`](https://github.com/nodejs/node/commit/0a22d40180)] - **(CVE-2026-48931)** **http**: fix response queue poisoning in http.Agent (Matteo Collina) [nodejs-private/node-private#846](https://github.com/nodejs-private/node-private/pull/846)
116+
* \[[`c79968e108`](https://github.com/nodejs/node/commit/c79968e108)] - **(CVE-2026-48619)** **http2**: cap originSet size to prevent unbounded memory growth (Matteo Collina) [nodejs-private/node-private#855](https://github.com/nodejs-private/node-private/pull/855)
117+
* \[[`0c37bff2ff`](https://github.com/nodejs/node/commit/0c37bff2ff)] - **http2**: fix DEP0194 message (KaKa) [#58669](https://github.com/nodejs/node/pull/58669)
118+
* \[[`ea5dc6b529`](https://github.com/nodejs/node/commit/ea5dc6b529)] - **(SEMVER-MAJOR)** **http2**: remove support for priority signaling (Matteo Collina) [#58293](https://github.com/nodejs/node/pull/58293)
119+
* \[[`9b6af26132`](https://github.com/nodejs/node/commit/9b6af26132)] - **(CVE-2026-48615)** **lib,test**: redact proxy credentials in tunnel errors (Matteo Collina) [nodejs-private/node-private#867](https://github.com/nodejs-private/node-private/pull/867)
120+
* \[[`28dcd38864`](https://github.com/nodejs/node/commit/28dcd38864)] - **(CVE-2026-48935)** **permission**: disable FileHandle utimes with permission model (RafaelGSS) [nodejs-private/node-private#873](https://github.com/nodejs-private/node-private/pull/873)
121+
* \[[`2f62693801`](https://github.com/nodejs/node/commit/2f62693801)] - **(CVE-2026-48617)** **permission**: handle process.chdir on writereport (RafaelGSS) [nodejs-private/node-private#870](https://github.com/nodejs-private/node-private/pull/870)
122+
* \[[`1662a3ea09`](https://github.com/nodejs/node/commit/1662a3ea09)] - **test**: add session reuse host verification regressions (Matteo Collina) [nodejs-private/node-private#854](https://github.com/nodejs-private/node-private/pull/854)
123+
* \[[`718d5d0e2c`](https://github.com/nodejs/node/commit/718d5d0e2c)] - **test**: skip `test-fs-utimes-y2K38` on armv7 (Richard Lau) [#63836](https://github.com/nodejs/node/pull/63836)
124+
* \[[`041185b61f`](https://github.com/nodejs/node/commit/041185b61f)] - **test**: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) [#62238](https://github.com/nodejs/node/pull/62238)
125+
* \[[`fd890ba01d`](https://github.com/nodejs/node/commit/fd890ba01d)] - **(CVE-2026-48934)** **tls**: bind reusable sessions to authenticated host (Matteo Collina) [nodejs-private/node-private#854](https://github.com/nodejs-private/node-private/pull/854)
126+
* \[[`39d1d09684`](https://github.com/nodejs/node/commit/39d1d09684)] - **(CVE-2026-48928)** **tls**: fix case-sensitive SNI context matching (Matteo Collina) [nodejs-private/node-private#857](https://github.com/nodejs-private/node-private/pull/857)
127+
* \[[`2197a47144`](https://github.com/nodejs/node/commit/2197a47144)] - **(CVE-2026-48618)** **tls**: normalize hostname for server identity checks (Matteo Collina) [nodejs-private/node-private#869](https://github.com/nodejs-private/node-private/pull/869)
128+
78129
<a id="22.22.3"></a>
79130

80131
## 2026-05-13, Version 22.22.3 'Jod' (LTS), @marco-ippolito

0 commit comments

Comments
 (0)