주요 변경 사항
이번 릴리스는 보안 릴리스입니다.
다음 취약점을 수정했습니다.
-
CVE-2020-8265: TLSWrap의 use-after-free (높음)
- 영향을 받는 Node.js 버전은 TLS 구현 부분에 있는 use-after-free 버그에 취약합니다.
TLS 가능한 소켓에 데이터를 쓸 때 node::StreamBase::Write는 node::TLSWrap::DoWrite를 호출하며,
이때 첫 번째 인수로 새롭게 할당된 WriteWrap 객체를 전달합니다. 이 객체는 DoWrite 메서드가 에러를 반환하지 않으면
호출한 함수에게 StreamWriteResult 구조체의 일부를 반환합니다. 이는 서비스 거부 혹은 잠재적인 다른 보안 문제를
일으키는 메모리 오염으로 악용될 수 있습니다.
- 영향을 받는 Node.js 버전은 TLS 구현 부분에 있는 use-after-free 버그에 취약합니다.
-
CVE-2020-8287: Node.js의 HTTP 요청 스머글링(Smuggling)
- 영향을 받는 Node.js 버전은 하나의 HTTP 요청에 두 개의 동일한 헤더 필드를 허용합니다.
예를 들어 두 개의 Transfer-Encoding 헤더 필드가 존재할 수 있습니다. 이 경우 Node.js는
첫 번째 헤더 필드를 사용하고 두 번째 헤더 필드는 무시합니다. 이 문제는 HTTP 요청 스머글링 문제를
일으킬 수 있습니다. (https://cwe.mitre.org/data/definitions/444.html)
- 영향을 받는 Node.js 버전은 하나의 HTTP 요청에 두 개의 동일한 헤더 필드를 허용합니다.
Commits
- [
c5dbe831b7
] - http: add test for http transfer encoding smuggling (Matteo Collina) nodejs-private/node-private#228 - [
e0c9a2285c
] - http: unsetF_CHUNKED
on newTransfer-Encoding
(Matteo Collina) nodejs-private/node-private#228 - [
9834ef85a0
] - src: retain pointers to WriteWrap/ShutdownWrap (James M Snell) nodejs-private/node-private#23
Windows 32-bit Installer: https://nodejs.org/dist/v15.5.1/node-v15.5.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v15.5.1/node-v15.5.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v15.5.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v15.5.1/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v15.5.1/node-v15.5.1.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v15.5.1/node-v15.5.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v15.5.1/node-v15.5.1.tar.gz
Other release files: https://nodejs.org/dist/v15.5.1/
Documentation: https://nodejs.org/docs/v15.5.1/api/
SHASUMS
1 | -----BEGIN PGP SIGNED MESSAGE----- |