보안 릴리스입니다. 모든 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)
- Node.js: HTTP 요청 분할(CVE-2018-12116)
- OpenSSL: DSA 서명 생성 시 OpenSSL 소요 시간 분석 취약성(CVE-2018-0734)
- OpenSSL: ECC 스칼라 곱에서 OpenSSL의 마이크로아키텍처 소요 시간 분석 취약성(CVE-2018-5407)
주요 변경사항
- deps: OpenSSL 1.0.2q로 업그레이드해서 CVE-2018-0734와 CVE-2018-5407을 수정했습니다.
- 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) - HTTP 클라이언트 요청의
path
옵션에서 2 바이트 문자는 이제 허용하지 않습니다.\u0021
~\u00ff
범위 밖에 있는 문자를 담고 있는 경로는 이제TypeError
로 거절됩니다. 이 동작은 필요에 따라--security-revert=CVE-2018-12116
명령행 인자를 사용하면 되돌릴 수 있습니다.(추천하지 않습니다.) Arkadiy Tetelman(Lob)가 Node.js 6과 8의 보안 이슈를 보고했고 Benno Fünfstück이 Node.js 10 이상에 적용된 변경사항을 백포트해서 수정했습니다.(CVE-2018-12116 / Matteo Collina)
- url:
url.parse()
로'javascript:'
프로토콜이 포함된 URL을 파싱할 때 호스트명이 스누핑될 수 있는 버그를 수정했습니다. Martin Bajanik(Kentico)가 보고했습니다.(CVE-2018-12123 / Matteo Collina)
Commits
- [
add20f373c
] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/node#1836 - [
c4e382cce3
] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) nodejs/node#1389 - [
f1d1f12519
] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) nodejs/node#1389 - [
69037ad5c4
] - deps: copy all openssl header files to include dir (Sam Roberts) #24530 - [
f5b34336bb
] - deps: upgrade openssl sources to 1.0.2q (Sam Roberts) #24530 - [
93dba83fb0
] - deps,http: http_parser set max header size to 8KB (Matteo Collina) nodejs-private/node-private#143 - [
576038fb61
] - (SEMVER-MINOR) http: add --security-revert for CVE-2018-12116 (Matteo Collina) nodejs-private/node-private#146 - [
513e9747a2
] - (SEMVER-MINOR) http: disallow two-byte characters in URL path (Benno Fünfstück) nodejs-private/node-private#146 - [
696f063c5e
] - (SEMVER-MINOR) http,https: protect against slow headers attack (Matteo Collina) nodejs-private/node-private#151 - [
7f362a11ee
] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) nodejs/node#1389 - [
53a6e4eb20
] - url: avoid hostname spoofing w/ javascript protocol (Matteo Collina) nodejs-private/node-private#145
Windows 32-bit Installer: https://nodejs.org/dist/v8.14.0/node-v8.14.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v8.14.0/node-v8.14.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v8.14.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v8.14.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v8.14.0/node-v8.14.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-aix-ppc64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v8.14.0/node-v8.14.0.tar.gz
Other release files: https://nodejs.org/dist/v8.14.0/
Documentation: https://nodejs.org/docs/v8.14.0/api/
SHASUMS
1 | -----BEGIN PGP SIGNED MESSAGE----- |