September 2020 Security Releases
Updates are now available for v10,x, v12.x and v14.x Node.js release lines for the following issues.
Affected Node.js versions converted carriage returns in HTTP request headers to a hyphen before parsing. This can lead to HTTP Request Smuggling as it is a non-standard interpretation of the header.
- All versions of the 14.x and 12.x releases line
Thank you to Amit Klein who works at Safebreach for reporting this vulnerability.
Denial of Service by resource exhaustion CWE-400 due to unfinished HTTP/1.1 requests (Critical) (CVE-2020-8251)
Node.js is vulnerable to HTTP denial of service (DOS) attacks based on delayed requests submission which can make the server unable to accept new connections. The fix a new http.Server option called requestTimeout with a default value of 0 which means it is disabled by default. This should be set when Node.js is used as an edge server, for more details refer to the documentation.
- All versions of the 14.x release line
Thank you to Paolo Insogna and Matteo Collina who work at NearFom for reporting and fixing this vulnerability.
libuv's realpath implementation incorrectly determined the buffer size which can result in a buffer overflow if the resolved path is longer than 256 bytes.
- All versions of the 10.x release line
- All versions of the 12.x release line
- All versions of the 14.x release line before 14.9.0
Thank you Xiaoyi Shi who works at Tencent for reporting this vulnerability.
The Node.js project will release new versions of all supported release lines on or shortly after Tuesday, September 15, 2020. These releases will fix
- One critical severity issue
- One high severity issue
- One medium severity issue
The 14.x release line of Node.js is vulnerable to one critical severity issue, one high severity issue and one medium severity issue.
The 12.x release line of Node.js is vulnerable to one high severity issue, and one medium severity issue.
10.x release line of Node.js is vulnerable to one medium severity issue.
Releases will be available at, or shortly after, Tuesday, September 15th, 2020.
The current Node.js security policy can be found at https://github.com/nodejs/node/blob/HEAD/SECURITY.md#security. Please follow the process outlined in https://github.com/nodejs/node/blob/main/SECURITY.md if you wish to report a vulnerability in Node.js.
Subscribe to the low-volume announcement-only nodejs-sec mailing list at https://groups.google.com/forum/#!forum/nodejs-sec to stay up to date on security vulnerabilities and security-related releases of Node.js and the projects maintained in the nodejs GitHub organization.