보안 릴리스입니다. 모든 Node.js 사용자는
https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/의
보안 릴리스 요약에서 수정된 취약성을 살펴봐야 합니다.
이번 릴리스에는 다음 CVE의 수정사항이 포함되었습니다.
- Node.js: 커다란 HTTP 헤더로 인한 서비스 거부(CVE-2018-12121)
- Node.js: Slowloris HTTP 서비스 거부(CVE-2018-12122 / Node.js)
- Node.js: javascript 프로토콜에 대한 URL 파서의 호스트명 스누핑(CVE-2018-12123)
- OpenSSL: DSA 서명 생성 시 OpenSSL 소요 시간 분석 취약성(CVE-2018-0734)
- OpenSSL: ECDSA 서명 생성 시 OpenSSL 소요 시간 분석 취약성(CVE-2018-0735)
주요 변경사항
- deps: OpenSSL 1.1.0j로 업그레이드해서 CVE-2018-0734와 CVE-2019-0735를 수정했습니다.
- http:
- 서비스 거부 공격 가능성을 차단하기 위해 HTTP 서버가 받은 전체 헤더가 8192 바이트를 넘지 않아야 합니다. Trevor Norris가 보고했습니다.(CVE-2018-12121 / Matteo Collina)
- 이제 서버가 HTTP 헤더를 받는 데 40초의 만료 시간이 적용됩니다.
server.headersTimeout
으로 이 값을 조정할 수 있습니다. 이 시간 내에 헤더를 완전히 받지 못했을 때는 다음 청크를 받았을 때 소켓이 소멸합니다.server.setTimeout()
과 함께 사용하면 과도한 리소스 유지와 서비스 거부를 막는 데 도움이 됩니다. Jan Maybach(liebdich.com)가 보고했습니다.(CVE-2018-12122 / Matteo Collina)
- url:
url.parse()
로'javascript:'
프로토콜이 포함된 URL을 파싱할 때 호스트명이 스누핑될 수 있는 버그를 수정했습니다. Martin Bajanik(Kentico)가 보고했습니다.(CVE-2018-12123 / Matteo Collina)
Commits
- [
8f191f3759
] - deps: update openssl 1.1.0 upgrade docs (Sam Roberts) #24523 - [
f20ac47d7a
] - deps: update archs files for OpenSSL-1.1.0 (Sam Roberts) #24523 - [
8248d227b7
] - deps: add s390 asm rules for OpenSSL-1.1.0 (Shigeki Ohtsu) #24523 - [
65d03f0180
] - deps: upgrade openssl sources to 1.1.0j (Sam Roberts) #24523 - [
a2b8aba23c
] - deps,http: llhttp set max header size to 8KB (Rod Vagg) nodejs-private/node-private#149 - [
74e01d0020
] - deps,http: http_parser set max header size to 8KB (Matteo Collina) nodejs-private/node-private#143 - [
4ecbd3bdaa
] - http: reset headers_nread_ on llhttp parser reuse (Rod Vagg) nodejs-private/node-private#149 - [
04e0620597
] - http: fix header limit errors and test for llhttp (Fedor Indutny) nodejs-private/node-private#149 - [
315ee2e626
] - (SEMVER-MINOR) http,https: protect against slow headers attack (Matteo Collina) nodejs-private/node-private#144 - [
d7504324e1
] - url: avoid hostname spoofing w/ javascript protocol (Matteo Collina) nodejs-private/node-private#145
Windows 32-bit Installer: https://nodejs.org/dist/v11.3.0/node-v11.3.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v11.3.0/node-v11.3.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v11.3.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v11.3.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v11.3.0/node-v11.3.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v11.3.0/node-v11.3.0.tar.gz
Other release files: https://nodejs.org/dist/v11.3.0/
Documentation: https://nodejs.org/docs/v11.3.0/api/
SHASUMS
1 | -----BEGIN PGP SIGNED MESSAGE----- |