summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Lau <rlau@redhat.com>2021-02-22 17:25:07 +0000
committerRichard Lau <rlau@redhat.com>2021-02-22 19:27:08 +0000
commitab8d3c5a1262b4e04c0191a180914555d7c860c3 (patch)
tree2924ef179fa3ca61435017c8d54da57eda84d51f
parent922ada77132c1b0b69c9a146822d762b2f9b912b (diff)
downloadnode-new-ab8d3c5a1262b4e04c0191a180914555d7c860c3.tar.gz
2021-02-23, Version 12.21.0 'Erbium' (LTS)v12.21.0
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: https://github.com/nodejs-private/node-private/pull/256
-rw-r--r--CHANGELOG.md3
-rw-r--r--doc/api/http2.md6
-rw-r--r--doc/changelogs/CHANGELOG_V12.md24
-rw-r--r--src/node_version.h6
4 files changed, 32 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 63d67b7234..9f865c5a63 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,7 +28,8 @@ release.
</tr>
<tr>
<td valign="top">
-<b><a href="doc/changelogs/CHANGELOG_V12.md#12.20.2">12.20.2</a></b><br/>
+<b><a href="doc/changelogs/CHANGELOG_V12.md#12.21.0">12.21.0</a></b><br/>
+<a href="doc/changelogs/CHANGELOG_V12.md#12.20.2">12.20.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.1">12.20.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.0">12.20.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.19.1">12.19.1</a><br/>
diff --git a/doc/api/http2.md b/doc/api/http2.md
index 7db9855e0e..0aa5cfe3ca 100644
--- a/doc/api/http2.md
+++ b/doc/api/http2.md
@@ -2012,7 +2012,7 @@ error will be thrown.
<!-- YAML
added: v8.4.0
changes:
- - version: REPLACEME
+ - version: v12.21.0
pr-url: https://github.com/nodejs-private/node-private/pull/250
description: Added `unknownProtocolTimeout` option with a default of 10000.
- version:
@@ -2157,7 +2157,7 @@ server.listen(80);
<!-- YAML
added: v8.4.0
changes:
- - version: REPLACEME
+ - version: v12.21.0
pr-url: https://github.com/nodejs-private/node-private/pull/250
description: Added `unknownProtocolTimeout` option with a default of 10000.
- version:
@@ -2289,7 +2289,7 @@ server.listen(80);
<!-- YAML
added: v8.4.0
changes:
- - version: REPLACEME
+ - version: v12.21.0
pr-url: https://github.com/nodejs-private/node-private/pull/250
description: Added `unknownProtocolTimeout` option with a default of 10000.
- version:
diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md
index e471299bef..1a85a3eaab 100644
--- a/doc/changelogs/CHANGELOG_V12.md
+++ b/doc/changelogs/CHANGELOG_V12.md
@@ -11,6 +11,7 @@
</tr>
<tr>
<td valign="top">
+<a href="#12.21.0">12.21.0</a><br/>
<a href="#12.20.2">12.20.2</a><br/>
<a href="#12.20.1">12.20.1</a><br/>
<a href="#12.20.0">12.20.0</a><br/>
@@ -68,6 +69,29 @@
* [io.js](CHANGELOG_IOJS.md)
* [Archive](CHANGELOG_ARCHIVE.md)
+<a id="12.21.0"></a>
+## 2021-02-23, Version 12.21.0 'Erbium' (LTS), @richardlau
+
+This is a security release.
+
+### Notable changes
+
+Vulnerabilities fixed:
+
+* **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by resource exhaustion
+ * 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.
+* **CVE-2021-22884**: DNS rebinding in --inspect
+ * 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.
+* **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate
+ * 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
+
+### Commits
+
+* [[`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)
+* [[`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)
+* [[`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)
+* [[`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)
+
<a id="12.20.2"></a>
## 2021-02-10, Version 12.20.2 'Erbium' (LTS), @ruyadorno
diff --git a/src/node_version.h b/src/node_version.h
index 6dc6688f71..5bea878e82 100644
--- a/src/node_version.h
+++ b/src/node_version.h
@@ -23,13 +23,13 @@
#define SRC_NODE_VERSION_H_
#define NODE_MAJOR_VERSION 12
-#define NODE_MINOR_VERSION 20
-#define NODE_PATCH_VERSION 3
+#define NODE_MINOR_VERSION 21
+#define NODE_PATCH_VERSION 0
#define NODE_VERSION_IS_LTS 1
#define NODE_VERSION_LTS_CODENAME "Erbium"
-#define NODE_VERSION_IS_RELEASE 0
+#define NODE_VERSION_IS_RELEASE 1
#ifndef NODE_STRINGIFY
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)