중요한 보안 릴리스입니다. 모든 Node.js 사용자는 수정된 취약점에 대한 자세한 내용을 보안 릴리스 요약에서 확인하세요.
주요 변경사항:
- buffer:
Buffer.concat()
으로 생성된 새Buffer
객체에 원본Buffer
객체의 총 길이를 초과하는totalLength
파라미터를 넘길 때 초과된 바이트에 0를 채워넣습니다.(Сковорода Никита Андреевич) - http:
- CVE-2016-5325 -
ServerResponse#writeHead()
의reason
인자의 허용된 문자를 올바르게 검증합니다. 응답 분리(response splitting) 공격의 가능성을 수정했습니다. 이 변경으로 HTTP 응답 설정에서throw
가 발생할 수 있습니다. 사용자는 이 부분에 try/catch를 적용하셔야 합니다. Evan Lucas, Romain Gaucher가 각각 처음 보고했습니다.(Evan Lucas) - 이제 부적절한 상태 코드를 보낼 수 없습니다. 100~999 사이의 3자리 수로 제한됩니다. 적절한 검증이 없으면 응답 분리 공격을 받을 가능성이 있습니다. v4.x에서 백포트 했습니다.(Brian White)
- CVE-2016-5325 -
- openssl:
- 1.0.1u로 업그레이드, Node.js에 영향을 주는 몇몇 결함 CVE-2016-6304(“OCSP 상태 요청이 무한 메모리 증가로 확장”, 높은 심각도), CVE-2016-2183, CVE-2016-6303, CVE-2016-2178, CVE-2016-6306을 수정했습니다.
- 동적 서드파티 엔진 모듈 지원을 제거했습니다. 공격자가 Node.js 런타임에 동적 엔진 모듈로 가장하여 악의적인 코드를 숨길 수 있습니다. Ahmed Zaki(Skype)가 처음 보고했습니다.(Ben Noordhuis, Rod Vagg)
- tls: CVE-2016-7099 - 올바르지 않은 와일드카드 인증 검증을 수정했습니다. TLS 서버가 자신의 호스트 이름에 대해 적절하지 않은
*.
와일드카드 검증 때문에 올바르지 않은 와일드 카드 인증을 할 수 있었습니다. Alexander Minozhenko, James Bunton(Atlassian)이 처음 보고했습니다.(Ben Noordhuis)
Commits:
- [38d7258d89] - buffer: zero-fill uninitialized bytes in .concat() (Сковорода Никита Андреевич) https://github.com/nodejs/node-private/pull/66
- [1ba6d16786] - build: turn on -fno-delete-null-pointer-checks (Ben Noordhuis) https://github.com/nodejs/node/pull/6737
- [71e4285e27] - crypto: don’t build hardware engines (Rod Vagg) https://github.com/nodejs/node-private/pull/69
- [b6e0105a66] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25368
- [1caec97eab] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) https://github.com/nodejs/node-v0.x-archive/pull/25654
- [734bc6938b] - deps: separate sha256/sha512-x86_64.pl for openssl (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25654
- [7cc6d4eb5c] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) https://github.com/nodejs/node/pull/8718
- [4a9da21217] - deps: upgrade openssl sources to 1.0.1u (Shigeki Ohtsu) https://github.com/nodejs/node/pull/8718
- [6d977902bd] - http: check reason chars in writeHead (Evan Lucas) https://github.com/nodejs/node-private/pull/47
- [ad470e496b] - http: disallow sending obviously invalid status codes (Evan Lucas) https://github.com/nodejs/node-private/pull/47
- [9dbde2fc88] - lib: make tls.checkServerIdentity() more strict (Ben Noordhuis) https://github.com/nodejs/node-private/pull/61
- [db80592071] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25654
Windows 32-bit Installer: https://nodejs.org/dist/v0.12.16/node-v0.12.16-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v0.12.16/x64/node-v0.12.16-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v0.12.16/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v0.12.16/x64/node.exe
Mac OS X Universal Installer: https://nodejs.org/dist/v0.12.16/node-v0.12.16.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v0.12.16/node-v0.12.16-darwin-x64.tar.gz
Mac OS X 32-bit Binary: https://nodejs.org/dist/v0.12.16/node-v0.12.16-darwin-x86.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v0.12.16/node-v0.12.16-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v0.12.16/node-v0.12.16-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v0.12.16/node-v0.12.16-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v0.12.16/node-v0.12.16-sunos-x64.tar.gz
Source Code: https://nodejs.org/dist/v0.12.16/node-v0.12.16.tar.gz
Other release files: https://nodejs.org/dist/v0.12.16/
Documentation: https://nodejs.org/docs/v0.12.16/api/
Shasums (GPG signing hash: SHA512, file hash: SHA256):
1 | -----BEGIN PGP SIGNED MESSAGE----- |