Skip to content

Commit ab8d3c5

Browse files
committed
2021-02-23, Version 12.21.0 'Erbium' (LTS)
This is a security release. Notable changes Vulnerabilities fixed: - **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by resource exhaustion - **CVE-2021-22884**: DNS rebinding in --inspect - **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate PR-URL: nodejs-private/node-private#256
1 parent 922ada7 commit ab8d3c5

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ release.
2828
</tr>
2929
<tr>
3030
<td valign="top">
31-
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.20.2">12.20.2</a></b><br/>
31+
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.21.0">12.21.0</a></b><br/>
32+
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.2">12.20.2</a><br/>
3233
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.1">12.20.1</a><br/>
3334
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.0">12.20.0</a><br/>
3435
<a href="doc/changelogs/CHANGELOG_V12.md#12.19.1">12.19.1</a><br/>

doc/api/http2.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2012,7 +2012,7 @@ error will be thrown.
20122012
<!-- YAML
20132013
added: v8.4.0
20142014
changes:
2015-
- version: REPLACEME
2015+
- version: v12.21.0
20162016
pr-url: https://github.com/nodejs-private/node-private/pull/250
20172017
description: Added `unknownProtocolTimeout` option with a default of 10000.
20182018
- version:
@@ -2157,7 +2157,7 @@ server.listen(80);
21572157
<!-- YAML
21582158
added: v8.4.0
21592159
changes:
2160-
- version: REPLACEME
2160+
- version: v12.21.0
21612161
pr-url: https://github.com/nodejs-private/node-private/pull/250
21622162
description: Added `unknownProtocolTimeout` option with a default of 10000.
21632163
- version:
@@ -2289,7 +2289,7 @@ server.listen(80);
22892289
<!-- YAML
22902290
added: v8.4.0
22912291
changes:
2292-
- version: REPLACEME
2292+
- version: v12.21.0
22932293
pr-url: https://github.com/nodejs-private/node-private/pull/250
22942294
description: Added `unknownProtocolTimeout` option with a default of 10000.
22952295
- version:

doc/changelogs/CHANGELOG_V12.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</tr>
1212
<tr>
1313
<td valign="top">
14+
<a href="#12.21.0">12.21.0</a><br/>
1415
<a href="#12.20.2">12.20.2</a><br/>
1516
<a href="#12.20.1">12.20.1</a><br/>
1617
<a href="#12.20.0">12.20.0</a><br/>
@@ -68,6 +69,29 @@
6869
* [io.js](CHANGELOG_IOJS.md)
6970
* [Archive](CHANGELOG_ARCHIVE.md)
7071

72+
<a id="12.21.0"></a>
73+
## 2021-02-23, Version 12.21.0 'Erbium' (LTS), @richardlau
74+
75+
This is a security release.
76+
77+
### Notable changes
78+
79+
Vulnerabilities fixed:
80+
81+
* **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by resource exhaustion
82+
* Affected Node.js versions are vulnerable to denial of service attacks when too many connection attempts with an 'unknownProtocol' are established. This leads to a leak of file descriptors. If a file descriptor limit is configured on the system, then the server is unable to accept new connections and prevent the process also from opening, e.g. a file. If no file descriptor limit is configured, then this lead to an excessive memory usage and cause the system to run out of memory.
83+
* **CVE-2021-22884**: DNS rebinding in --inspect
84+
* Affected Node.js versions are vulnerable to denial of service attacks when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.
85+
* **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate
86+
* This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210216.txt
87+
88+
### Commits
89+
90+
* [[`e69177a088`](https://github.com/nodejs/node/commit/e69177a088)] - **deps**: update archs files for OpenSSL-1.1.1j (Daniel Bevenius) [#37413](https://github.com/nodejs/node/pull/37413)
91+
* [[`0633ae77e6`](https://github.com/nodejs/node/commit/0633ae77e6)] - **deps**: upgrade openssl sources to 1.1.1j (Daniel Bevenius) [#37413](https://github.com/nodejs/node/pull/37413)
92+
* [[`922ada7713`](https://github.com/nodejs/node/commit/922ada7713)] - **(SEMVER-MINOR)** **http2**: add unknownProtocol timeout (Daniel Bevenius) [nodejs-private/node-private#246](https://github.com/nodejs-private/node-private/pull/246)
93+
* [[`1564752d55`](https://github.com/nodejs/node/commit/1564752d55)] - **src**: drop localhost6 as allowed host for inspector (Matteo Collina) [nodejs-private/node-private#244](https://github.com/nodejs-private/node-private/pull/244)
94+
7195
<a id="12.20.2"></a>
7296
## 2021-02-10, Version 12.20.2 'Erbium' (LTS), @ruyadorno
7397

src/node_version.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323
#define SRC_NODE_VERSION_H_
2424

2525
#define NODE_MAJOR_VERSION 12
26-
#define NODE_MINOR_VERSION 20
27-
#define NODE_PATCH_VERSION 3
26+
#define NODE_MINOR_VERSION 21
27+
#define NODE_PATCH_VERSION 0
2828

2929
#define NODE_VERSION_IS_LTS 1
3030
#define NODE_VERSION_LTS_CODENAME "Erbium"
3131

32-
#define NODE_VERSION_IS_RELEASE 0
32+
#define NODE_VERSION_IS_RELEASE 1
3333

3434
#ifndef NODE_STRINGIFY
3535
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)

0 commit comments

Comments
 (0)