Skip to content

Commit

Permalink
2021-02-23, Version 15.10.0 (Current)
Browse files Browse the repository at this point in the history
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#253
  • Loading branch information
BethGriggs committed Feb 22, 2021
1 parent 2a3ce59 commit 7a4f260
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V15.md#15.9.0">15.9.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V15.md#15.10.0">15.10.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.9.0">15.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.8.0">15.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.7.0">15.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.6.0">15.6.0</a><br/>
Expand Down
6 changes: 3 additions & 3 deletions doc/api/http2.md
Original file line number Diff line number Diff line change
Expand Up @@ -2122,7 +2122,7 @@ Throws `ERR_INVALID_ARG_TYPE` for invalid `settings` argument.
<!-- YAML
added: v8.4.0
changes:
- version: REPLACEME
- version: v15.10.0
pr-url: https://github.com/nodejs-private/node-private/pull/246
description: Added `unknownProtocolTimeout` option with a default of 10000.
- version:
Expand Down Expand Up @@ -2271,7 +2271,7 @@ server.listen(80);
<!-- YAML
added: v8.4.0
changes:
- version: REPLACEME
- version: v15.10.0
pr-url: https://github.com/nodejs-private/node-private/pull/246
description: Added `unknownProtocolTimeout` option with a default of 10000.
- version:
Expand Down Expand Up @@ -2407,7 +2407,7 @@ server.listen(80);
<!-- YAML
added: v8.4.0
changes:
- version: REPLACEME
- version: v15.10.0
pr-url: https://github.com/nodejs-private/node-private/pull/246
description: Added `unknownProtocolTimeout` option with a default of 10000.
- version:
Expand Down
25 changes: 25 additions & 0 deletions doc/changelogs/CHANGELOG_V15.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
</tr>
<tr>
<td>
<a href="#15.10.0">15.10.0</a><br/>
<a href="#15.9.0">15.9.0</a><br/>
<a href="#15.8.0">15.8.0</a><br/>
<a href="#15.7.0">15.7.0</a><br/>
Expand Down Expand Up @@ -44,6 +45,30 @@
* [io.js](CHANGELOG_IOJS.md)
* [Archive](CHANGELOG_ARCHIVE.md)

<a id="15.10.0"></a>
## 2021-02-23, Version 15.10.0 (Current), @BethGriggs

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

* [[`2a3ce5974b`](https://github.com/nodejs/node/commit/2a3ce5974b)] - **deps**: update archs files for OpenSSL-1.1.1j (Daniel Bevenius) [#37412](https://github.com/nodejs/node/pull/37412)
* [[`afbce66874`](https://github.com/nodejs/node/commit/afbce66874)] - **deps**: upgrade openssl sources to 1.1.1j (Daniel Bevenius) [#37412](https://github.com/nodejs/node/pull/37412)
* [[`4184806dee`](https://github.com/nodejs/node/commit/4184806dee)] - **(SEMVER-MINOR)** **http2**: add unknownProtocol timeout (Daniel Bevenius) [nodejs-private/node-private#246](https://github.com/nodejs-private/node-private/pull/246)
* [[`43ae9c46c3`](https://github.com/nodejs/node/commit/43ae9c46c3)] - **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="15.9.0"></a>
## 2021-02-17, Version 15.9.0 (Current), @danielleadams

Expand Down
6 changes: 3 additions & 3 deletions src/node_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
#define SRC_NODE_VERSION_H_

#define NODE_MAJOR_VERSION 15
#define NODE_MINOR_VERSION 9
#define NODE_PATCH_VERSION 1
#define NODE_MINOR_VERSION 10
#define NODE_PATCH_VERSION 0

#define NODE_VERSION_IS_LTS 0
#define NODE_VERSION_LTS_CODENAME ""

#define NODE_VERSION_IS_RELEASE 0
#define NODE_VERSION_IS_RELEASE 1

#ifndef NODE_STRINGIFY
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)
Expand Down

0 comments on commit 7a4f260

Please sign in to comment.