Node v0.12.11(LTS)

이 릴리스는 보안 업데이트를 포함하고 있습니다. OpenSSL 1.0.1s는 Node.js에 영향을 미치는 심각도가 낮은(low-severity) 몇 가지 결함을 수정합니다. 자세한 내용은 영향 평가를 참고하세요.

주요 변경 사항

  • http_parser: http-parser를 2.3.2로 업데이트하여 허용 가능한 헤더 문자에 의도치 않게 제한이 생기던 문제를 수정했습니다. (James M Snell) nodejs/node#5241
  • domains:
    • 에러가 발생한 도메인에 에러 핸들러가 설정되어 있지 않고 processuncaughtException 이벤트 리스너가 설정되었을 때 process 객체에 uncaughtException 이벤트가 발생하는 대신 예외가 던져지는(throw) 것 때문에 프로세스가 종료되던 문제를 수정했습니다. (Julien Gilli) nodejs/node#3885
    • 에러 핸들러가 없는 도메인에서 에러가 발생하고 --abort-on-uncaught-exception이 사용됐을 때 적절한 함수 호출에서 프로세스가 종료되지 않던 이슈가 수정됐습니다. (Julien Gilli) nodejs/node#3885
  • openssl: 1.0.1r에서 1.0.1s로 업그레이드 했습니다. (Ben Noordhuis) nodejs/node#5509
    • DoS나 메모리 변조(memory corruption) 공격에 사용될 수 있는 형식이 올바르지 않은(malformed) DSA 키를 파싱할 때 발생하는 이중 해제(double free) 문제를 수정합니다. 실제 공격에 이 결함이 악용되기는 매우 어려울 것이므로 이 결함은 Node.js 사용자에게 낮은 심각도로 판단됩니다. 더 자세한 정보는 https://www.openssl.org/news/vulnerabilities.html#2016-0705에서 볼 수 있습니다.
    • 내부의 BN_hex2bn()BN_dec2bn() 함수와 관련 있는 매우 드문 사례에서 메모리 변조를 일으킬 수 있는 결함을 수정했습니다. Node.js는 이 함수를 사용하는 코드를 호출하지 않으므로 이 결함을 사용한 실제적인 Node.js 공격은 불가능할 것으로 보입니다. 더 자세한 정보는 https://www.openssl.org/news/vulnerabilities.html#2016-0797에서 볼 수 있습니다.
    • CacheBleed 공격(https://ssrg.nicta.com.au/projects/TS/cachebleed/)을 가능하게 할 수 있는 결함을 수정했습니다. 이 결함은 공격자에게 전체 RSA 비공개 키를 복구할 수 있는 부채널 공격(side-channel attacks)을 허용합니다. 이 결함은 인텔 샌디 브리지(혹은 그 이전 버전) 마이크로아키텍처에서 하이퍼 스레딩(hyper-threading)을 사용할 때만 영향을 미칩니다. 하스웰을 비롯한 새로운 아키텍처에서는 영향이 없습니다. 더 자세한 정보는 https://www.openssl.org/news/vulnerabilities.html#2016-0702에서 볼 수 있습니다.

Commits:

  • [1ab6653db9] - build: update Node.js logo on OSX installer (Rod Vagg) #5401
  • [fcc64792ae] - child_process: guard against race condition (Rich Trott) #5153
  • [6c468df9af] - child_process: fix data loss with readable event (Brian White) #5037
  • [61a22019c2] - deps: upgrade openssl to 1.0.1s (Ben Noordhuis) #5509
  • [fa26b13df7] - deps: update to http-parser 2.3.2 (James M Snell) #5241
  • [46c8e2165f] - deps: backport 1f8555 from v8’s upstream (Trevor Norris) #3945
  • [ce58c2c31a] - doc: remove SSLv2 descriptions (Shigeki Ohtsu) #5541
  • [018e4e0b1a] - domains: fix handling of uncaught exceptions (Julien Gilli) #3885
  • [d421e85dc9] - lib: fix cluster handle leak (Rich Trott) #5152
  • [3a48f0022f] - node: fix leaking Context handle (Trevor Norris) #3945
  • [28dddabf6a] - src: fix build error without OpenSSL support (Jörg Krause) #4201
  • [a79baf03cd] - src: use global SealHandleScope (Trevor Norris) #3945
  • [be39f30447] - test: add test-domain-exit-dispose-again back (Julien Gilli) #4278
  • [da66166b9a] - test: fix test-domain-exit-dispose-again (Julien Gilli) #3991

Windows 32-bit Installer: https://nodejs.org/dist/v0.12.11/node-v0.12.11-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v0.12.11/x64/node-v0.12.11-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v0.12.11/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v0.12.11/x64/node.exe
Mac OS X Universal Installer: https://nodejs.org/dist/v0.12.11/node-v0.12.11.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v0.12.11/node-v0.12.11-darwin-x64.tar.gz
Mac OS X 32-bit Binary: https://nodejs.org/dist/v0.12.11/node-v0.12.11-darwin-x86.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v0.12.11/node-v0.12.11-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v0.12.11/node-v0.12.11-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v0.12.11/node-v0.12.11-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v0.12.11/node-v0.12.11-sunos-x64.tar.gz
Source Code: https://nodejs.org/dist/v0.12.11/node-v0.12.11.tar.gz
Other release files: https://nodejs.org/dist/v0.12.11/
Documentation: https://nodejs.org/docs/v0.12.11/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

17c2d6926976279707d5576a82eb59c4dadc5b8adaef562744fc14fa19e3ab5a node.exe
f6a93ff89cdd8532a63f81d1e97a8394c6da6353ab0cdbf6ce83d69bfdbecc13 node.exp
6524b6acf14f93ad15fa26a938ae13867cab17f8d031f03d5cad12c6b752244e node.lib
8fc934c37296fb639b080d0ba474ba5d6521cc32f0fd01e1514880f45a7e5b1b node.pdb
68b949f6c308eb1ad28e96926fca68e3ac0dfb7ec997945f4e26db99fe3ad711 node-v0.12.11-darwin-x64.tar.gz
4011d2c1c24f19c8f6ec8c93616ed0259b5c8f56b32f9f043b0706a4891065ee node-v0.12.11-darwin-x64.tar.xz
057f701678c0fe0c596eaa517e8b7ba771bdca89d99a7ace8df8e1064784727b node-v0.12.11-darwin-x86.tar.gz
64181afbb0e9bf4087582b24f8332ae60a92d65fbf03f2ae4064c27e0df8ad09 node-v0.12.11-darwin-x86.tar.xz
4d3985bddfbdc867eb1f226e74c3a507db01410f95aaa566da18ada9bfd51d02 node-v0.12.11-headers.tar.gz
0d6c113200170e80e1fa7aac4830f513ff93269d96c7a32e9f5c30ac6c45ac0b node-v0.12.11-headers.tar.xz
d98b76b7721a60471801e07e1f90af4fd479e8e42a632d419ede0a7b3c603cc0 node-v0.12.11-linux-x64.tar.gz
6122af4237461982e80111583c1b845ec8276c95dfd241f1e96c1cbcda671586 node-v0.12.11-linux-x64.tar.xz
ecf627bf67bfd231e549869c6e2963acd5551d15d5cf1116b0649d3d14ddde19 node-v0.12.11-linux-x86.tar.gz
5f376924c3e70a0b8283a0bcda15f2b32ff63adaa195a26a77bf309f04122d65 node-v0.12.11-linux-x86.tar.xz
f6c2b066b9d75ed9b352849ff5044819bd527fceada669210999310aada9a280 node-v0.12.11.pkg
6a68d6ad04c9b73ed72e88e39002bbaa95ffc423c6cf47e3c3da5edd0abbc701 node-v0.12.11-sunos-x64.tar.gz
688f63d22fa8b2094225ffe049e5b7b584b899e5ede565b6f001d019c0e9c0da node-v0.12.11-sunos-x64.tar.xz
9e61254d7437c2498817225c62dc6cfc065bd3b2404a213d8d305419bca07a6c node-v0.12.11-sunos-x86.tar.gz
a0b32c1e606ce31d61faf4eb340aeecd0fc973a7c6fb4b45dd6a9aa1fac48ba5 node-v0.12.11-sunos-x86.tar.xz
e49049d82f2a11fa164549d907d4739fe1293d53c07f48bd70e1df237b238a68 node-v0.12.11.tar.gz
ad36d2fee86171582b7a3c7470a0c565bd816dc02518e1b64aa5f21a0fdf86ce node-v0.12.11.tar.xz
fbc814fe197618421015807e487ee5b30eeaca5224511680342e9eb178afd252 node-v0.12.11-x86.msi
df06cd0f64660802d20cbff3655ce89dc1f302fa9fce05140ee00663d8a54c50 openssl-cli.exe
f5386b0f3bd3591b5d65a0f7c8167f50c3a8c9dc8dab08fd8abcdd2b001ea1b7 openssl-cli.pdb
46893f15c3ef27631646f47f380ad1e2ad344c2b337a85d228aa94ae58349f8a x64/node.exe
c9e771b9eddb0f7b0da929a3c3f27bdc8836da6e436e3980f97854e09c496f38 x64/node.exp
e25a49dbaa616bd4cf9e7bb46ea3ec06e8cc68b255e2893772d40182896ec7bb x64/node.lib
965a585155a296f81c82b77c4df2d17680660aca3f074cd3c0a0b34adc339c4c x64/node.pdb
b9496d61e09ae852f27d7571c3be39a834befa7587607ae229d41f0e3bd56f59 x64/node-v0.12.11-x64.msi
2e22479b9681caedfa271b9b414d5e4e6fc8b185ce560c57be10a61c98388e39 x64/openssl-cli.exe
32ebc22dec65750c3e43ba944dd3fdd6fffefc303c6142a0f131d215b86b613d x64/openssl-cli.pdb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJW2HuxAAoJEMJzeS99g1Rd6MUH/jMQgOKWaO1+70aTA3g8/3yX
S4Gj05FZiDTF8HO6Svrbka5hpU8BkuJAsL3sp+E4+cIwGdYyA73hzq8qN4Gwm0X8
nmRpMfY1T+Goeox2m7D2rcrM88yeTRxtD7mM2sg32lDGUGwI0CiIEpYcA3BFF6tj
Km7NlZahyiXaGEh6hUWcbkwHuoMEHKrACiMRb9RNOE0pdpdeXvoSYli7KBn8JZAl
cQaK/KJxxUWeywnDzPcsg+gN4CQlnnKm6Tawtu++v6FWLcS8WTktd81Jue4knbks
JoC+Bb4h2rvDR1/8o+Jjc95MnGvIx/MB5tFyY1tDEDjQxsC1oZXcUz4P5pjlnqE=
=KKkY
-----END PGP SIGNATURE-----

Node v5.7.1(안정 버전)

주요 변경 사항

  • governance: 코어 기술 위원회(CTC)에 Node.js 코어의 개발을 도와 줄 구성원 4명이 새로 추가됐습니다. Evan Lucas, Rich Trott, Ali Ijaz Sheikh, Сковорода Никита Андреевич(Nikita Skovoroda).
  • openssl: 1.0.2f에서 1.0.2g로 업그레이드 했습니다. (Ben Noordhuis) #5507
    • DoS나 메모리 변조(memory corruption) 공격에 사용될 수 있는 형식이 올바르지 않은(malformed) DSA 키를 파싱할 때 발생하는 이중 해제(double-free) 문제를 수정합니다. 실제 공격에 이 결함이 악용되기는 어려울 것이므로 이 결함은 Node.js 사용자에게 낮은 심각도로 판단됩니다. 더 자세한 정보는 CVE-2016-0705에서 볼 수 있습니다.
    • 내부의 BN_hex2bn()BN_dec2bn() 함수와 관련 있는 매우 드문 사례에서 메모리 변조를 일으킬 수 있는 결함을 수정했습니다. Node.js는 이 함수를 사용하는 코드를 호출하지 않으므로 이 결함을 사용한 실제적인 공격은 불가능할 것으로 보입니다. 더 자세한 정보는 CVE-2016-0797에서 볼 수 있습니다.
    • CacheBleed 공격을 가능하게 하는 결함을 수정했습니다. 이 결함은 공격자에게 전체 RSA 비공개 키를 복구할 수 있는 부채널 공격(side-channel attack)을 허용합니다. 이 결함은 인텔 샌디 브리지(혹은 그 이전 버전) 마이크로아키텍처에서 하이퍼 스레딩을 사용할 때만 영향을 미칩니다. 하스웰을 비롯한 새로운 마이크로아키텍처에는 영향이 없습니다. 더 자세한 정보는 CVE-2016-0702에서 볼 수 있습니다.
  • v5.7.0에서 발생한 몇 가지 문제를 수정했습니다.
    • path.relative():
      • 출력이 불필요하게 장황한 문제를 해결했습니다. (Brian White) #5389
      • 윈도우 UNC 경로를 제대로 해석하지 못하던 문제를 해결했습니다. (Owen Smith) #5456
      • 접두사가 붙은 경로를 최상위 디렉터리부터 제대로 해석합니다. (Owen Smith) #5490
    • url: parse()의 off-by-one 에러를 해결했습니다. (Brian White) #5394
    • dgram: offset과 length가 주어졌을 때 기본 address를 사용하는 경우를 제대로 처리합니다. (Matteo Collina) #5407

Commits

  • [7cae774d9b] - benchmark: refactor to eliminate redeclared vars (Rich Trott) #5468
  • [6aebe16669] - benchmark: add benchmark for buf.compare() (Rich Trott) #5441
  • [00660f55c8] - benchmark: move string-decoder to its own category (Andreas Madsen) #5177
  • [4650cb3818] - benchmark: fix configuation parameters (Andreas Madsen) #5177
  • [3ccb275139] - benchmark: merge url.js with url-resolve.js (Andreas Madsen) #5177
  • [c1e7dbffaa] - benchmark: move misc to categorized directories (Andreas Madsen) #5177
  • [2f9fee6e8e] - benchmark: use strict mode (Rich Trott) #5336
  • [4c09e7f359] - build: remove –quiet from eslint invocation (firedfox) #5519
  • [2c619f2012] - build: run lint before tests (Rich Trott) #5470
  • [f349a9a2cf] - build: update Node.js logo on OSX installer (Rod Vagg) #5401
  • [88f393588a] - crypto: PBKDF2 works with int not ssize_t (Fedor Indutny) #5397
  • [1e86804503] - deps: upgrade openssl to 1.0.2g (Ben Noordhuis) #5507
  • [d3f9b84be8] - dgram: handle default address case when offset and length are specified (Matteo Collina)
  • [f1f3832934] - doc: update NAN urls in ROADMAP.md and doc/releases.md (ronkorving) #5472
  • [51bc062dab] - doc: add CTC meeting minutes 2016-02-17 (Rod Vagg) #5410
  • [795c85ba1c] - doc: fix typo in child_process documentation (Evan Lucas) #5474
  • [0a56e9690b] - doc: add note for binary safe string reading (Anton Andesen) #5155
  • [ea8331e15f] - doc: improvements to crypto.markdown copy (Alexander Makarenko) #5230
  • [378a772034] - doc: require behavior on case-insensitive systems (Hugo Wood)
  • [06b7eb6636] - doc: document base64url encoding support (Tristan Slominski) #5243
  • [8ec3d904cb] - doc: improve httpVersionMajor / httpVersionMajor (Jackson Tian) #5296
  • [534e88f56c] - doc: fix relative links in net docs (Evan Lucas) #5358
  • [7b98a30976] - doc: fix crypto function indentation level (Brian White) #5460
  • [c0fd802cc2] - doc: link to man pages (dcposch@dcpos.ch) #5073
  • [f8c6701e22] - doc: add missing property in cluster example (Rafael Cepeda) #5305
  • [3bfe0483f0] - doc: corrected name of argument in socket.send (Chris Dew) #5449
  • [c8725f5e95] - doc: fix links in tls, cluster docs (Alexander Makarenko) #5364
  • [7f2cf9af5c] - doc: explicit about VS 2015 support in readme (Phillip Johnsen) #5406
  • [12d3cdbfea] - doc: remove out-of-date matter from internal docs (Rich Trott) #5421
  • [43853679f7] - doc: copyedit util doc (Rich Trott) #5399
  • [903e8d09e1] - doc: fix typo in pbkdf2Sync code sample (Marc Cuva) #5306
  • [79b1c22c9f] - doc: fix buf.readInt16LE output (Chinedu Francis Nwafili) #5282
  • [e46915f2f3] - doc: note util.isError() @@toStringTag limitations (cjihrig) #5414
  • [935fd21fff] - doc: clarify error handling in net.createServer (Dirceu Pereira Tiegs) #5353
  • [93dce6d4fe] - doc: document fs.datasync(Sync) (Ron Korving) #5402
  • [96daf51358] - doc: add Evan Lucas to the CTC (Rod Vagg) #5275
  • [31b405d0cf] - doc: add Rich Trott to the CTC (Rod Vagg) #5276
  • [bcd154e402] - doc: add Ali Ijaz Sheikh to the CTC (Rod Vagg) #5277
  • [9d0330c804] - doc: add Сковорода Никита Андреевич to the CTC (Rod Vagg) #5278
  • [365cc63783] - doc: add “building node with ninja” guide (Jeremiah Senkpiel) #4767
  • [2b00c315e1] - doc: mention prototype check in deepStrictEqual() (cjihrig) #5367
  • [ff988b3ee6] - doc,tools,test: lint doc-based addon tests (Rich Trott) #5427
  • [d77c3bf204] - http_parser: use MakeCallback (Trevor Norris) #5419
  • [e3421ac296] - lib: freelist: use .pop() for allocation (Anton Khlynovskiy) #2174
  • [91d218d096] - path: fix path.relative() for prefixes at root (Owen Smith) #5490
  • [ef7a088906] - path: fix win32 parse() (Zheng Chaoping) #5484
  • [871396ce8f] - path: fix win32 relative() for UNC paths (Owen Smith) #5456
  • [91782f1888] - path: fix win32 relative() when “to” is a prefix (Owen Smith) #5456
  • [30cec18eeb] - path: fix verbose relative() output (Brian White) #5389
  • [2b88523836] - repl: fix stack trace column number in strict mode (Prince J Wesley) #5416
  • [51db48f741] - src,tools: remove null sentinel from source array (Ben Noordhuis) #5418
  • [03a5daba55] - src,tools: drop nul byte from built-in source code (Ben Noordhuis) #5418
  • [17d14f3346] - src,tools: allow utf-8 in built-in js source code (Ben Noordhuis) #5418
  • [12ae6abc69] - test: increase timeout for test-tls-fast-writing (Rich Trott) #5466
  • [81348e8855] - test: apply Linux workaround to Linux only (Rich Trott) #5471
  • [c4d9cdb7d0] - test: allow options for v8 testing (Michael Dawson) #5502
  • [d1a82c6824] - test: retry on known SmartOS bug (Rich Trott) #5454
  • [c7f8a13043] - test: remove unneeded bind() and related comments (Aayush Naik) #5023
  • [cc4cbb10df] - test: fix flaky child-process-fork-regr-gh-2847 (Santiago Gimeno) #5422
  • [0ebbf6cd53] - test: remove flaky designation from fixed tests (Rich Trott) #5459
  • [c83725c604] - test: add test-cases for posix path.relative() (Owen Smith) #5456
  • [22bb7c9d27] - test: fix test runner arg regression (Stefan Budeanu) #5446
  • [8c67b94b11] - test: refactor test-dgram-send-callback-recursive (Santiago Gimeno) #5079
  • [2c21d34a2f] - test: refactor test-dgram-udp4 (Santiago Gimeno) #5339
  • [479a43c876] - test: allow passing args to executable (Stefan Budeanu) #5376
  • [ff75023812] - test: fix test-timers.reliability on OS X (Rich Trott) #5379
  • [991f82b4bd] - test: mitigate flaky test-http-agent (Rich Trott) #5346
  • [0f54553a99] - test: increase timeouts on some unref timers tests (Jeremiah Senkpiel) #5352
  • [25c01cd779] - tls: fix assert in context._external accessor (Ben Noordhuis) #5521
  • [5ffd7430d1] - tools: apply custom buffer lint rule to /lib only (Rich Trott) #5371
  • [fa5d28f246] - tools: enable additional lint rules (Rich Trott) #5357
  • [b44b701e5b] - tools,benchmark: increase lint compliance (Rich Trott) #5429
  • [9424fa5732] - url: group slashed protocols by protocol name (nettofarah) #5380
  • [dfe45f13e7] - url: fix off-by-one error with parse() (Brian White) #5394

Windows 32-bit Installer: https://nodejs.org/dist/v5.7.1/node-v5.7.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v5.7.1/node-v5.7.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v5.7.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v5.7.1/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.7.1/node-v5.7.1.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v5.7.1/node-v5.7.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v5.7.1/node-v5.7.1.tar.gz
Other release files: https://nodejs.org/dist/v5.7.1/
Documentation: https://nodejs.org/docs/v5.7.1/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

25627633163e6ad47e62cd9aaab04e47707b51ecc5aaa05f35a2d6419dbe054c node-v5.7.1-darwin-x64.tar.gz
7d23cb68d8587a6baa8f9023bf326430ca50d669817bac2cd6129cdb435ac0c3 node-v5.7.1-darwin-x64.tar.xz
6d2241bc1e5049de3651873d63b84c37f8684027b1a34928ce6bbe745057ca70 node-v5.7.1-headers.tar.gz
655cbc2da0808edbb965fbb698713ea022e9e7d311604e0ae73904de59df528c node-v5.7.1-headers.tar.xz
b075aa249eb1e00e1e84e6f5964d4f93c39aa6d817c25280bf885bfcf906c7fc node-v5.7.1-linux-arm64.tar.gz
61f411e5352d10533cfde00ff2e5b3bc0c31326d46e4e76a0736cf44e2f031ea node-v5.7.1-linux-arm64.tar.xz
ddde92eb9b80e58efec88138fa7351e21000b22414ebff754c7ab38dedbab89f node-v5.7.1-linux-armv6l.tar.gz
dd1ade05801824f0386a43890c1500715e628ac4a78b85eb6f2949edad5eaa7c node-v5.7.1-linux-armv6l.tar.xz
2370e6ad65dedc1eadcc1b3a481e922a8b5afacee9e90eb6700fee876eb59a5b node-v5.7.1-linux-armv7l.tar.gz
4617186ac4e615f2166dbbd0ef923971d37af630f4aad85cd93bacba74c56fb9 node-v5.7.1-linux-armv7l.tar.xz
f3de80e67a3f055bb3e2ecdb9e4b6cc45183a6cbee2b728f243d46a6fd94f542 node-v5.7.1-linux-ppc64le.tar.gz
81b0e67145e317f4c6f9be58a3485990285fdd866f2c11509ffc68927d2e75d4 node-v5.7.1-linux-ppc64le.tar.xz
fcded78b45549e2195eecb36138ba29b6f353d0d136d4e8b80648770418f1e5b node-v5.7.1-linux-x64.tar.gz
5584895f87a57ee26a75bf8505f6a2350a3ab219accf1df44c2f6406ddfad6ed node-v5.7.1-linux-x64.tar.xz
4382b7366f3448d42f09d63f7dfccf45bf67f8be94d2bfe7203bdc79d0ae64e8 node-v5.7.1-linux-x86.tar.gz
6a9063fd23bf4e14d966f18b3cf092192f2a05daf8e6253b92adc2be422959e1 node-v5.7.1-linux-x86.tar.xz
d96c04a7df03f630e66fdf5173912cfb1e412bba4453aad67e007d5bb59d16b4 node-v5.7.1.pkg
0ebab64c25a417b741f666db1765c7358e413d895d4dd0ca9e967fdbb1770a72 node-v5.7.1-sunos-x64.tar.gz
8f7bc96926e75971ade13c183378929442021eca5055752b0b47601b60b1a474 node-v5.7.1-sunos-x64.tar.xz
1deb8d1eee46dfdb15c01fea1b283cc9115d78d2e4757ab6192b80bf52d61f99 node-v5.7.1-sunos-x86.tar.gz
43221b7de7c0e684d65e1898244f876deb25c3e0d614e7f01261a6af5e39f3b7 node-v5.7.1-sunos-x86.tar.xz
ecd4956335c6b86f1b72fd203abd9a833717e6800edb12208d0e3ce625330198 node-v5.7.1.tar.gz
029ed8aeb997c68d1a901cd837af02d24b6b5e20a4ff93bed090fd289f91a9a1 node-v5.7.1.tar.xz
d453670c8edf551fc319fcb997cae8e19180aa09593d0228730fc8997c02316c node-v5.7.1-x64.msi
f486032411c50a6ea40d361067eb78d2e383737f72d0c14e081e04aff23e6991 node-v5.7.1-x86.msi
de17f951cc28bcd90015703b23e153d19673ee476016d923ff9e5588a6f17593 win-x64/node.exe
752e5b5ea84e7bc828582bceb5ff2faade62234d63f4924ac935c0cc0d2c1bdf win-x64/node.lib
249614b8ab6106d91229c1b3c2732b0985334e9b3c28c25bff2d681ab5730a56 win-x86/node.exe
4237fb7203656e3caffb4af4ea7875957a4d26860576de52767abfed88f5f7b8 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJW13WxAAoJEEX17r2BPa6OTokP/At3k4PP5DuSviM3hWGINJUB
FHgtwN5ZhV2L07mLwOsD2uogvjBIe8FnNPtLiB1On80E17lMyvUC8GfYmaxG1QWx
fYIMA/vDPtEE9ckUJ0zF800z9nECjLbFQ1aJ2iCz5yPS7rg/1RsMokpGa5+PbrRB
L5DPBU+I9ZImiQKVF4cscIPfCdBd9itPwVSBLNn9silnAdX4s8kMcIg0O3uXI2S5
k3A3b7tsUDEWhdg3uq4R3t/Y8uzsjpywYRbJQMqQ67RBFE64N3eRRygUWKOgmyob
rPZNAsARu0k3ORn48gfauCTaxxqsdVd3Wrp2thFD5KOs8/TVXKjIrKkoNynGNgTE
S+iWCWCj7n7inGMslq6hHCzxwgbhtRQKMyQW7uGJak4OhrlNsn/7GW9HDTQDxSof
SQgt62++j3wJ4U9Ywl18ZB790BmjxIzH6K5qxK+sW6cADHXRobeYWX/IU5c2y+Gz
wKMMHejQlSPZM4aZYJlBuUcWlkex7o5Mhkpu5hq+OWIN9c2uPJJ35Jh5m/ZGL8AL
ZmlrFU2esrO0a7R2PV0+9ESG7x8aizvY7vquuVdF3uMn3CrfWG0ssp/xWpAHWorK
qUUdd4fdX57rdxuyWj58t7Iq2ri6RxgNf2nnZiFyUyfGdsOzyrNT6ES5exnjdzxw
K5Jnwx41hOBpEJ1XMwRn
=8dum
-----END PGP SIGNATURE-----

Node v4.3.2(LTS)

주요 변경 사항

  • openssl: 1.0.2f에서 1.0.2g로 업그레이드 했습니다. (Ben Noordhuis) #5507
    • DoS나 메모리 변조(memory corruption) 공격에 사용될 수 있는 형식이 올바르지 않은(malformed) DSA 키를 파싱할 때 발생하는 이중 해제(double free) 문제를 수정합니다. 실제 공격에 이 결함이 악용되기는 매우 어려울 것이므로 이 결함은 Node.js 사용자에게 낮은 심각도로 판단됩니다. 더 자세한 정보는 CVE-2016-0705에서 볼 수 있습니다.
    • 내부의 BN_hex2bn()BN_dec2bn() 함수와 관련 있는 매우 드문 사례에서 메모리 변조를 일으킬 수 있는 결함을 수정했습니다. Node.js는 이 함수를 사용하는 코드를 호출하지 않으므로 이 결함을 사용한 실제적인 Node.js 공격은 불가능할 것으로 보입니다. 더 자세한 정보는 CVE-2016-0797에서 볼 수 있습니다.
    • CacheBleed Attack을 가능하게 할 수 있는 결함을 수정했습니다. 이 결함은 공격자에게 전체 RSA 비공개 키를 복구할 수 있는 부채널 공격(side-channel attacks)을 허용합니다. 이 결함은 인텔 샌디 브리지(혹은 그 이전 버전) 마이크로아키텍처에서 하이퍼 스레딩(hyper-threading)을 사용할 때만 영향을 미칩니다. 하스웰을 비롯한 새로운 아키텍처에서는 영향이 없습니다. 더 자세한 정보는 CVE-2016-0702에서 볼 수 있습니다.

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v4.3.2/node-v4.3.2-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v4.3.2/node-v4.3.2-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v4.3.2/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v4.3.2/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v4.3.2/node-v4.3.2.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v4.3.2/node-v4.3.2.tar.gz
Other release files: https://nodejs.org/dist/v4.3.2/
Documentation: https://nodejs.org/docs/v4.3.2/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

6380a36500de02a48758f204c1c5931af986d93609cfa06db1f91216bec9a5eb node-v4.3.2-darwin-x64.tar.gz
47109a00cac344d80296c195451bb5eee7c21727fcef1594384ddfe1f852957a node-v4.3.2-darwin-x64.tar.xz
f532e7cd3886ac9fdc774cc2add0db21483052c966a23aace7c84ec69b91981f node-v4.3.2-headers.tar.gz
1f7c9a25c224ff3ce2da0cc858d813ba4359c3b6114e125b5c0abfcc6388a130 node-v4.3.2-headers.tar.xz
5d86c21d47cad54e3e5d7f36c1323b1e2416efc75e4615dafe35b202b59f26c8 node-v4.3.2-linux-arm64.tar.gz
606e85821fc88f389a20d4ed4e8e483d1e7627e808dada59931b282768041fb7 node-v4.3.2-linux-arm64.tar.xz
f8767c0bacc0ed516bfa22802dda573082b5bf463e5ea79a74087272ccb2d1e2 node-v4.3.2-linux-armv6l.tar.gz
3ea0b359efdb58ba693fdd67382ff0c086ee03899cde78c8aa2f29630c4d79fd node-v4.3.2-linux-armv6l.tar.xz
f4d5b9ae277aaec50cdbb735480ec1a04e6e02bd820e2a1fcfa913c0c25f2e3d node-v4.3.2-linux-armv7l.tar.gz
4e8cae9f7ad94edcc4eb29c9cfcf9e1e1f4cdd5a40156573d77ab352465a74c7 node-v4.3.2-linux-armv7l.tar.xz
568b13ae13588853cbf49b7a0772698bf50b6de1168f76cd7a7cd7d7d7ada7c7 node-v4.3.2-linux-ppc64le.tar.gz
a648fab221101408e5a2a740674686816c5ef26c9d3884c1c444fc14c3040b65 node-v4.3.2-linux-ppc64le.tar.xz
f307f173a96dff6652bc70d835af0c732864bb09875cf32a0b6ce7d70cebf77d node-v4.3.2-linux-x64.tar.gz
4350d0431b49697517c6cca5d66adf5f74eb9101c52f52ae959fa94225822d44 node-v4.3.2-linux-x64.tar.xz
3c668a2128db3982987c596c028f9ec1d08c6abf63502e24826d40e552f80a8c node-v4.3.2-linux-x86.tar.gz
ea45ccb7cf334789727dc5a1d1dfb0fa325e88de0b4a06d211dad6cb57c36e33 node-v4.3.2-linux-x86.tar.xz
f27eda062619f624d198012735cd996bbe7999715dbed1d6e47f3dbc4529b7a6 node-v4.3.2.pkg
80fdaa0c54b187d43933336b334b70bcbb79953350510006b07dbaa019929188 node-v4.3.2-sunos-x64.tar.gz
632d45df9172e54feeba5d5400220f946daf2023c282fb2527a3ff0b1e93be8f node-v4.3.2-sunos-x64.tar.xz
04705681dde835c383028bc5bab3cab9d14dd7977e062ac824c2cfaf999f7c43 node-v4.3.2-sunos-x86.tar.gz
1ad766e22773f3ad9ac2274fbf2f277e24d1234957a358e64bea2ea3ce6fe66a node-v4.3.2-sunos-x86.tar.xz
1f92f6d31f7292ce56db57d6703efccf3e6c945948f5901610cefa69e78d3498 node-v4.3.2.tar.gz
f0c5761a7e4f520ab8793cb2dcabbd7dfd7f5839ce4f2cf79d9d52d1c2da5bca node-v4.3.2.tar.xz
49abd7e2855b4d124ad87f48162f6c0f0b26048bef17e1ab8f4ec8144d6914f3 node-v4.3.2-x64.msi
206ef690925231c9a527aeffc5b2c3d77d2497d91f581a21ba9689bfff9556a1 node-v4.3.2-x86.msi
606c44c42d17866c017c50c0afadad411d9492ac4281d2431b937f881911614e win-x64/node.exe
451a40570099a95488d6438f175813629e0430f87f23c8659bc18dc42494820a win-x64/node.lib
e41d283a6e3999dcf90742e97dd5d858a6b9d2b767087a4ef0087c0ed82f9bd9 win-x86/node.exe
1a6f27f9cee7dc117c51eb1a9c2b1ab336020fd46673b87c4bf2719ef4d2d00c win-x86/node.lib
-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJW11/yAAoJEJM7AfQLXKlGYDYH/11wCIjqnoJq/mrx++DkwTPH
/xcS6GPg+M6okP/+12BDxzJ3veMBCXFEe21wKcX68B7vzc9QyfcWR/FDbuu3Jpwl
nhY0GwA8KqKQwKKl8ecchORWvVCX+b6D6bSSuC1gnO3w0C88usV0MLvdje2WjKdM
Rg4fy/lzwpNp63yxghwuEwqemxoAt/B/KlJhRqDktcHnsJC4RL8gRr5CXa5E0l81
ph71mN4nLnES9kYSwb7+XoXsbTXGwRMiWHjjT8s2DP3Tn+WeE1JJzT7JLRRN89KF
rUnjnEW/76Rb4mk+9W8S30wdBBNEUL0JXAqlEQGANcp5Kdpr1SwwkDoaWSZOprc=
=hltr
-----END PGP SIGNATURE-----

Node.js 주간 뉴스 2016년 3월 1일

Node.js 뉴스

OpenSSL 업데이트, 1.0.2g와 1.0.1s

암호화 팀이 OpenSSL 배포판의 Node.js 사용자에 대한 영향 평가를 작성했습니다. 영향 평가는 현재 출시 중인 버전에 따라 달라지며 이 블로그에 공개될 것입니다.

우리는 영향 평가 행위의 일환으로서 모든 영향을 고려하여 현재 출시 중인 각 버전에 대한 출시 계획을 발표할 것입니다. 3월 1일 화요일 이후에 곧 공개될 Node.js v0.10, v0.12, v4, v5 버전의 중요 업데이트를 준비해두시기 바랍니다.

  • OpenSSL 업데이트의 영향 평가는 출시 후 24시간 안에 작성될 것입니다.
  • Node.js v0.10, v0.12, v5는 주요 보안 버전을 포함해 금주에 출시될 예정입니다.
  • Node.js v4.4.0은 이번 주 v4.3.2에 반영된 보안 업데이트를 포함해 다음 주에 출시될 예정입니다.

더 자세한 정보는 https://nodejs.org/en/blog/vulnerability/openssl-march-2016/ 페이지를 참고하세요.

OpenSSL 릴리스 후 대략 약 24시간 내에 작성되는 영향 평가 및 상세 업데이트 내용을 비롯한 최신 소식을 알고 싶다면 nodejs-sec 구글 그룹을 살펴보세요. nodejs-sec 구글 그룹은 https://groups.google.com/forum/#!forum/nodejs-sec에서 볼 수 있습니다.

Linux PPC LE 64-bit 바이너리

Linux PPC LE 64-bit 바이너리가 v5.7.0을 시작으로 안정 버전에 포함됩니다.

바이너리 파일은 https://nodejs.org/dist/v5.7.0/에서 받을 수 있습니다.

커뮤니티 업데이트

Node.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

  • NodeConf Adventure 2016. “NodeConf Adventure의 1차 티켓을 신청할 수 있습니다!”. 미국 캘리포니아 주 마린 카운티 Walker Creek Ranch에서 2016년 6월 9일부터 12일까지 열립니다.
  • NationJS Node Day Conference. 지금 표를 살 수 있습니다. 워싱턴 DC에서 2016년 3월 11일에 열립니다.

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈를 통해 알릴 수 있습니다.

OpenSSL 1.0.2g, 1.0.1s 업데이트

OpenSSL 프로젝트는 UTC 기준 3월 1일 화요일에 1.0.2g와 1.0.1s 버전을 릴리스할 것이라고 이번 주에 발표했습니다. 이번 릴리스는 OpenSSL의 보안 정책에서 “높은” 심각도로 평가된 “여러 가지 결함”을 수정할 것입니다. 여기서 “높은” 심각도는 다음을 의미합니다.

보편적이지 않은 설정에 영향을 거거나 이용 가능성이 크지 않기 때문에 낮은 위험성을 가지는 이슈

Node.js v0.10과 v0.12는 모두 OpenSSL v1.0.1을 사용하고 Node.js v4와 v5는 OpenSSL v1.0.2를 사용합니다. nodejs.org의 릴리스와 다른 곳의 인기 있는 배포판 소스에는 OpenSSL이 정적으로 컴파일되어 있으므로 모든 릴리스 라인이 이번 업데이트의 영향을 받습니다.

지금 단계에서는 엠바고 때문에 이 결함에 대한 자세한 내용이 확실하지 않고 Node.js 사용자에 어떤 영향을 주는지도 확실하지 않습니다.

이번 주나 다음 주, 각 릴리스 라인에 사소하고 보안과 관련 없는 릴리스가 이미 계획되어 있었으므로 OpenSSL 릴리스가 얼마나 Node.js 사용자에게 영향을 주냐에 따라 릴리스 일정을 조정할 것입니다.

그러므로 진행 계획은 다음과 같습니다.

OpenSSL 릴리스 이후 대략 24시간 이내에 crypto 팀이 이번 릴리스에 대한 Node.js 사용자의 영향도 평가를 할 것입니다. 이 내용은 각 릴리스 라인에 따라 다를 것이고 이 글에 올릴 것입니다.

이 영향도 평가에 일부로 영향도를 고려해서 각 릴리스 라인의 릴리스 일정을 발표할 것입니다. 3월 1일 화요일 직후 Node.js v0.10, v0.12, v4, v5의 중요한 업데이트가 있을 수 있으므로 준비하시기 바랍니다.

Node.js v0.10(유지보수 버전)

이번 주에 Node.js v0.10.43 릴리스가 예정되어 있습니다. 이 버전에는 domains의 수정사항과 v0.10.42에서 발생한 http_parser의 회귀에 대한 중요한 수정사항이 포함되어 있습니다. 이번 릴리스에 포함된 변경사항의 자세한 내용과 릴리스 후보(v0.10.43-rc.1)를 다운로드받아 사용하는 방법에 대한 안내는 https://github.com/nodejs/node/pull/5404에서 볼 수 있습니다. Node.js v0.10 사용자는 릴리스 후보가 현재 배포된 코드와 호환되는지 테스트해 보길 권합니다.

OpenSSL 1.0.1s 릴리스에 Node.js v0.10에 영향을 주는 중요한 수정사항이 있다면 v0.10.43 릴리스에 이 수정사항을 포함하도록 노력할 것입니다.

Node.js v0.12(LTS)

이번 주에 Node.js v0.12.11 릴리스가 예정되어 있습니다. 이 버전에는 domains의 수정사항과 v0.12.10에서 발생한 http_parser의 회귀에 대한 중요한 수정사항이 포함되어 있습니다. 이번 릴리스에 포함된 변경사항의 자세한 내용과 릴리스 후보(v0.12.11-rc.1)를 다운로드받아 사용하는 방법에 대한 안내는 https://github.com/nodejs/node/pull/5403에서 볼 수 있습니다. Node.js v0.12 사용자는 릴리스 후보가 현재 배포된 코드와 호환되는지 테스트해 보길 권합니다.

OpenSSL 1.0.1s 릴리스에 Node.js v0.12에 영향을 주는 중요한 수정사항이 있다면 v0.12.11 릴리스에 이 수정사항을 포함하도록 노력할 것입니다.

Node.js v4(LTS “Argon”)

Node.js v4의 중요한 업데이트가 다음 주 3월 8일에 예정되어 있습니다. https://github.com/nodejs/node/pull/5301에서 Node.js v4.4.0에 무슨 변경사항이 있는지 볼 수 있고 배포된 코드를 테스트할 수 있는 릴리스 후보를 볼 수 있습니다.

OpenSSL 1.0.2g 업데이트에 Node.js v4에 영향을 주는 중요한 수정사항이 있다면 Node.js v4 사용자의 위험을 줄이기 위해 보안 업데이트만을 포함하여 이번 주에 v4.3.2를 릴리스할 수도 있습니다.

OpenSSL 1.0.2g 업데이트에 Node.js v4에 영향을 주는 중요한 수정사항이 없다면 계획했던 대로 v4.4.0 릴리스를 진행하면서 OpenSSL 1.0.2g 업그레이드도 시도할 것입니다. Node.js v4 사용자는 원하는 때에 v4.4.0 업그레이드를 할 수 있으므로 변경사항에 대해 충분히 테스트할 수 있습니다.

Node.js v5(안정 버전)

이번 주에 Node.js v5의 정기 업데이트가 예정되어 있습니다. https://github.com/nodejs/node/pull/5464에서 Node.js v5.7.1에 어떤 내용이 포함되는지 볼 수 있습니다. 이번 버전에 몇 가지 회귀에 대한 변경사항이 있음에도 이번 버전에서 semver-minor 변경사항은 제외했습니다.

OpenSSL 1.0.2g 릴리스에 Node.js v5에 영향을 주는 중요한 변경사항이 있다면 v5.7.1 릴리스가 해당 업데이트를 포함하도록 할 것입니다.

요약

  • OpenSSL 업데이트 이후 24시간 이내에 영향도 평가가 나올 것입니다.
  • 이번 주에 Node.js v0.10, v0.12, v5가 릴리스 될 것이고 여기에 중요한 보안 릴리스가 포함될 수 있습니다.
  • Node.js v4.4.0 릴리스는 다음 주에 이뤄질 것이고 이번 주에 v4.3.2 보안 업데이트가 이뤄질 가능성이 있습니다.

OpenSSL 릴리스 이후 대략 24시간 이내에 영향도 평가와 릴리스 시기에 대한 새로운 내용을 nodejs-sec 구글 그룹에 올릴 것이므로 주시하기 바랍니다. https://groups.google.com/forum/#!forum/nodejs-sec

연락처와 차기 업데이트

현재 Node.js 보안 정책은 https://nodejs.org/en/security/에서 볼 수 있습니다.

Node.js 취약점에 대해 보고하고 싶다면 security@nodejs.org로 연락을 주세요.

보안 취약점과 보안과 관련된 릴리스에 대한 최신 정보를 받고 싶다면 https://groups.google.com/forum/#!forum/nodejs-sec에서 약간의 공지만 올라오는 nodejs-sec 메일링 리스트를 구독하기 바랍니다. 프로젝트는 nodejs GitHub 조직에서 관리되고 있습니다.

(2016년 3월 2일 갱신됨) OpenSSL 영향 평가

crypto 팀(Ben Noordhuis, Shigeki Ohtsu, Fedor Indutny)에서 이번 주의 OpenSSL 릴리스 1.0.2g1.0.1s에서 해결한 결함을 분석했습니다. 이 분석 결과는 아래에 나와 있습니다.

Node.js 사용자에 대한 전체적인 영향은 낮지만 확실한 보안을 위해 OpenSSL의 새로운 버전을 포함해서 모든 릴리스 라인의 새 버전을 이번 주에 만들 것입니다.

  • v0.10.43(유지보수 버전)은 계획대로 이번 주에 진행됩니다. 이 버전에는 domains의 수정사항과 v0.10.42에서 발생한 http_parser의 회귀에 대한 중요한 수정사항이 포함되어 있고 OpenSSL을 1.0.1s로 업그레이드했습니다. 중요한 변경사항으로는 SSLv2 지원을 완전히 제거한 것입니다. 아래 CVE-2016-0800를 참고하세요.
  • v0.12.11(LTS)는 계획대로 이번 주에 진행됩니다. 이 버전에는 domains의 수정사항과 v0.12.10에서 발생한 http_parser의 회귀에 대한 중요한 수정사항과 몇 가지 사소한 수정사항이 포함되어 있습니다. OpenSSL도 1.0.1s로 업그레이드했습니다. 중요한 변경사항으로는 SSLv2 지원을 완전히 제거한 것입니다. 아래 CVE-2016-0800를 참고하세요.
  • v4.4.0(LTS Argon)은 계획대로 다음 주에 진행될 것이고 OpenSSL을 1.0.2g로 업그레이드 했습니다. v4.4.0의 보안과 관련 없는 수정사항을 적용하지 않고 새로운 OpenSSL을 사용하고자 하는 사용자가 보수적으로 업그레이드할 수 있도록 OpenSSL만 업그레이드한 v4.3.2를 이번 주에 릴리스할 것입니다.
  • v5.7.1(안정 버전)은 계획대로 이번 주에 진행할 것이고 v5.7.0에서 발생한 다수의 회귀에 대한 수정사항을 포함하고 있고 OpenSSL도 1.0.2g로 업그레이드 했습니다.

각 버전의 릴리스 공지는 Node.js 블로그에 있습니다.

CVE-2016-0800: SSLv2 기본 빌드, 기본 협상, 약한 암호화 비활성화

평가:

  • Node.js v0.10과 v0.12는 --enable-ssl2로 SSLv2를 수동으로 활성화하지 않는 한 영향을 받지 않습니다.
  • Node.js v4와 v5는 영향을 받지 않습니다.

이 취약점은 DROWN 공격으로 표시되었고 SSLv2를 지원하는 서버에만 영향을 줍니다.

현대 서버와 클라이언트는 TLS 암호화 프로토콜을 사용하지만 잘못된 설정으로 인해 많은 서버가 아직도 1990년대의 TLS 전신인 SSLv2를 지원합니다. 최신 클라이언트 중 실제로 SSLv2를 사용하는 클라이언트가 없기 때문에 이 지원이 실제로는 중요하지 않았습니다. 그래서 SSLv2가 매우 불안전하다고 알려졌음에도 클라이언트가 SSLv2를 사용하지 않으므로 지금까지 단순한 SSLv2 지원을 보안 문제로 간주하지 않았습니다.

DROWN은 단순한 SSLv2 지원도 현대 서버와 클라이언트에 위협이 됨을 보여줍니다. 이는 공격자가 SSLv2를 지원하고 같은 비밀키를 사용하는 서버에 프로브를 보냄으로써 최신 클라이언트와 서버 간의 현대적인 TLS 연결을 복호화할 수 있습니다.

HTTPS 소켓에 SSLv2를 지원하는 것만으로도 클라이언트가 SSLv2를 실제 사용하냐와 관계없이 이 취약점을 활성화하게 되므로 이는 중요합니다.

Node.js v0.10.29부터 SSLv2와 SSLv3는 기본적으로 비활성화되었습니다. 이는 node--enable-ssl2--enable-ssl3 명령행 인수를 전달함으로써 활성화할 수 있습니다. 이 프로토콜이 안전하지 않다는 것은 꾸준히 입증되었으므로 SSLv2와 SSLv3를 비활성화한 상태로 두는 것을 강력히 권장합니다.

node--enable-ssl2 명령행 인를 사용하고 있다면 HTTPS 서버는 이 공격에 취약합니다. 민감한 데이터의 복호화 가능성을 피하려면 이 인를 사용하기를 그만두어야 합니다.

SSLv2 지원이 제거되었습니다

OpenSSL 1.0.1s에서 SSLv2 지원 장벽을 추가한 점과 수많은 SSLv2 취약점을 고려하여 Node.js v0.10.43과 v0.12.11은 SSLv2 지원과 --enable-ssl2 명령행 인수를 완전히 제거할 것입니다.

CVE-2016-0705: DSA 코드의 이중 해제(double-free) 문제 수정

평가: Node.js의 모든 버전은 낮은 심각도로 영향을 받습니다.

이 결함으로 잠재적인 DoS(Denial of Service) 벡터로 사용되거나 메모리 변조를 일으키도록 올바르지 않은 DSA를 사용할 수 있습니다. 하지만 실제 공격에 이 결함을 악용하기는 매우 어려워 보이므로 Node.js 사용자에게 주는 심각도는 낮은 것으로 판단됩니다.

CVE-2016-0798: 서버의 메모리 누수를 해결하려고 SRP 가짜 사용자 시드를 비활성화했습니다.

평가: Node.js의 모든 버전은 영향을 받지 않습니다.

OpenSSL의 보안 원격 암호(SRP, Secure Remote Password)는 Node.js로는 노출되지 않으므로 모든 버전이 이 결함의 영향을 받지 않습니다.

CVE-2016-0797: BN_hex2bn/BN_dec2bn 널 포인터 역참조/힙 변조

평가: Node.js의 모든 버전은 낮은 심각도로 영향을 받을 수 있습니다.

이 결함은 아주 드문 상황에서 메모리 변조를 일으킬 수 있습니다. 게다가 BN_hex2bn()BN_dec2bn() 함수는 Node.js에서는 명시적으로 사용되지 않지만 OpenSSL의 일부 API에서 내부적으로 사용됩니다. 이 단계에서 확신할 수는 없지만 Node.js는 이 함수를 사용하는 코드를 호출하지 않는다고 생각합니다.

이 결함을 활용하기가 어렵고 Node.js가 내부적으로 이 함수를 사용해야 하는 API를 사용하지 않을 가능성이 있으므로 이 결함은 Node.js 사용자에게는 심각도가 아주 낮은 것으로 간주합니다.

CVE-2016-0799: BIO_*printf 함수의 메모리 문제 수정

평가: Node.js의 모든 버전은 영향을 받지 않습니다.

이 결함은 잠재적인 DoS(Denial of Service) 벡터로 제공되거나 메모리 변조를 일으킬 수 있습니다. OpenSSL이 내부적으로 BIO_*printf() 함수를 사용하지만 Node.js에서 이러한 함수를 호출하는 유일한 API 호출 경로는 Node.js에서 변경할 수 없는 기본 인증서 크기 제한이 있으므로 이 결함을 이용할 가능성이 없습니다. 그래서 Node.js는 이 결함에 영향을 받지 않는다고 생각합니다.

CVE-2016-0702: 모듈러 지수 연산(exponentiation)에서의 부채널 공격을 수정했습니다.

평가: Node.js의 모든 버전은 낮은 심각도로 영향을 받습니다.

이 결함은 CacheBleed Attack이라고 부릅니다.

이 결함으로 공격자가 전제 RSA 비밀키를 복구할 가능성이 있는 부채널 공격을 실행할 수 있습니다. 이는 인텔 샌디 브리지(혹은 그 이전 버전) 마이크로아키텍처에서 하이퍼 스레딩(hyper-threading)을 사용할 때만 영향을 미칩니다. 하스웰을 비롯한 새로운 마이크로아키텍처에서는 영향이 없습니다. 하이퍼스레딩을 비활성화하는 것은 이 공격을 막는 선택사항 중 하나입니다.

Node.js 주간 뉴스 2016년 2월 23일

Node.js 뉴스

Node v4.3.1(LTS), Node v4.4.0(RC), Node v5.7.0(안정 버전)이 릴리스 되었습니다.

Node v4.3.1(LTS), Node v4.4.0(RC), Node v5.7.0(안정 버전) 릴리스

3가지 버전이 릴리스 되었습니다: Node v4.3.1(LTS), Node v4.4.0(RC), Node v5.7.0(안정 버전). 이전 버전과 달라진 전체 변경 사항은 GitHub에서 볼 수 있습니다.

새로운 Node.js 공식 로고

마침내, 새로운 공식 로고를 공개합니다.

다가오는 이벤트

  • NodeConf Adventure 2016. “NodeConf Adventure의 1차 티켓을 신청할 수 있습니다!”. 미국 캘리포니아 주 마린 카운티 Walker Creek Ranch에서 2016년 6월 9일부터 12일까지 열립니다.
  • NationJS Node Day Conference. 지금 표를 살 수 있습니다. 워싱턴 DC에서 2016년 3월 11일에 열립니다.

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node v5.7.0(안정 버전)

주요 변경 사항

  • buffer:
    • Buffer를 채울 때 encoding 인수를 전달할 수 있게 되었습니다(Buffer#fill(string[, start[, end]][, encoding])). 이미 있는 Buffer를 전달하는 것도 가능합니다(Buffer#fill(buffer[, start[, end]]). 자세한 사용법은 API 문서를 참고하세요. (Trevor Norris) #4935
    • Buffer#indexOf()encoding을 제공하게 되면 byteOffset을 전달하지 않아도 됩니다(Buffer#indexOf(val[, byteOffset][, encoding]). (Trevor Norris) #4803
  • child_process: spawn()spawnSync()가 주어진 명령을 셸에서 실행할 수 있도록 하는 'shell' 옵션을 지원합니다. true로 지정되어 있으면 윈도우에선 cmd.exe를, 다른 곳에서는 /bin/sh를 사용합니다. 기본값 외에 사용할 셸의 경로를 전달할 수도 있습니다. 윈도우에서 이 옵션은 spawn()spawnSync()로 실행할 .bat, .cmd 파일도 받습니다. (Colin Ihrig) #4598
  • http_parser: http-parser를 2.6.2로 업데이트하여 허용 가능한 헤더 문자에 의도치 않게 제한이 생기던 문제를 수정했습니다. (James M Snell) #5237
  • dgram: socket.send()가 첫 번째 인수로 Buffer 배열이나 String 배열도 받습니다. 자세한 사용법은 API 문서를 참고하세요. (Matteo Collina) #4374
  • http: 헤더를 처리하는 곳에서 서버가 프로토콜을 알리고 있을 뿐인데 실수로 'update' 이벤트를 발생시키는 버그를 수정했습니다. 이 버그는 HTTP 클라이언트가 HTTP/2를 지원하는 서버와 통신하지 못하게 할 수 있습니다. (Fedor Indutny) #4337
  • net: nethttp 서버에 불리언(Boolean) 속성 listening을 추가했습니다. 이는 서버가 연결을 기다리고 있는지의 여부를 나타냅니다. (José Moreira) #4743
  • node: C++ node::MakeCallback() API를 다른 MakeCallback() 호출 안에서 호출할 수 있습니다. nextTick 큐나 Promise 마이크로태스크 큐 또한 올바른 순서로 처리하게 됩니다. (Trevor Norris) #4507
  • tls: 현재 연결의 협상된 TLS 프로토콜 버전을 반환하는 tlsSocket.getProtocol() 메서드를 추가했습니다. (Brian White) #4995
  • vm: V8의 코드 캐시를 다루기 위해 new vm.Script()'produceCachedData''cachedData' 옵션을 추가했습니다. 'produceCachedData'true로 지정하여 새로운 vm.Script 객체를 생성하면, 반환되는 객체의 cachedData 속성을 통해 V8의 코드 캐시 데이터가 든 Buffer에 접근할 수 있습니다. 이 데이터는 제공된 소스가 같다면 'cachedData' 옵션이 켜진 다른 vm.Script()에 다시 제공될 수 있습니다. 캐시 데이터에서 성공적으로 스크립트를 실행한다면 객체 생성 속도를 향상시킬 수 있습니다. 자세히 알아보려면 API 문서를 참고하세요. (Fedor Indutny) #4777
  • performance: 다음과 같은 부분이 개선되었습니다.
    • process.nextTick() (Ruben Bridgewater) #5092
    • path 모듈 (Brian White) #5123
    • querystring 모듈 (Brian White) #5012
    • 작은 크기의 데이터를 처리할 때의 streams 모듈 (Matteo Collina) #4354

Commits

  • [3a96fa0030] - async_wrap: add parent uid to init hook (Andreas Madsen) #4600
  • [4ef04c7c4c] - async_wrap: make uid the first argument in init (Andreas Madsen) #4600
  • [4afe801f90] - async_wrap: add uid to all asyncWrap hooks (Andreas Madsen) #4600
  • [edf8f8a7da] - benchmark: split path benchmarks (Brian White) #5123
  • [8d713d8d51] - benchmark: allow empty parameters (Brian White) #5123
  • [eb6d07327a] - (SEMVER-MINOR) buffer: add encoding parameter to fill() (Trevor Norris) #4935
  • [60d2048b6c] - (SEMVER-MINOR) buffer: properly retrieve binary length of needle (Trevor Norris) #4803
  • [4c67d74607] - (SEMVER-MINOR) buffer: allow encoding param to collapse (Trevor Norris) #4803
  • [5fa4117bfc] - build: add a help message and removed a TODO. (Ojas Shirekar) #5080
  • [09bfb865af] - build: remove redundant TODO in configure (Ojas Shirekar) #5080
  • [3dfc11c516] - build: remove Makefile.build (Ojas Shirekar) #5080
  • [fc78d3d6a7] - build: skip msi build if WiX is not found (Tsarevich Dmitry) #5220
  • [356acb39d7] - build: treat aarch64 as arm64 (Johan Bergström) #5191
  • [3b83d42b4a] - build: fix build when python path contains spaces (Felix Becker) #4841
  • [9e6ad2d8ff] - child_process: fix data loss with readable event (Brian White) #5036
  • [ecc797600f] - (SEMVER-MINOR) child_process: add shell option to spawn() (cjihrig) #4598
  • [efd6f68dce] - cluster: dont rely on this in fork (Igor Klopov) #5216
  • [df93d60caf] - console: apply null as this for util.format (Jackson Tian) #5222
  • [c397ba8fa3] - contextify: use offset/length from Uint8Array (Fedor Indutny) #4947
  • [3048ac0b57] - crypto: have fixed NodeBIOs return EOF (Adam Langley) #5105
  • [af074846f5] - debugger: remove unneeded callback check (Rich Trott) #5319
  • [7bac743f36] - debugger: assert test before accessing this.binding (Prince J Wesley) #5145
  • [18c94e5a8d] - deps: remove unnecessary files (Brian White) #5212
  • [967cf97bf0] - deps: cherry-pick 2e4da65 from v8’s 4.8 upstream (Michael Dawson) #5293
  • [bbdf2684d5] - deps: update to http-parser 2.6.2 (James M Snell) #5237
  • [127dd6275a] - Revertdeps: sync with upstream c-ares/c-ares@4ef6817” (Ben Noordhuis) #5199
  • [35c3832994] - deps: sync with upstream c-ares/c-ares@4ef6817 (Fedor Indutny) #5199
  • [b4db31822f] - dgram: scope redeclared variables (Rich Trott) #4940
  • [368c1d1098] - (SEMVER-MINOR) dgram: support dgram.send with multiple buffers (Matteo Collina) #4374
  • [a8862f59eb] - doc: update repo docs to use ‘CTC’ (Alexis Campailla) #5304
  • [6cf8ec5bd1] - doc: s/http/https in Myles Borins’ GitHub link (Rod Vagg) #5356
  • [0389e3803c] - doc: clarify child_process.execFile{,Sync} file arg (Kevin Locke) #5310
  • [c48290d9b7] - doc: fix buf.length slice example (Chinedu Francis Nwafili) #5259
  • [a6e437c619] - doc: fix buffer[index] example (Chinedu Francis Nwafili) #5253
  • [73ef1bd423] - doc: fix template string (Rafael Cepeda) #5240
  • [fa04daa384] - doc: clarify exceptions during uncaughtException (Noah Rose) #5180
  • [22f132e61d] - doc: improvements to console.markdown copy (Alexander Makarenko) #5225
  • [48fa6f6063] - doc: update process.send() signature (cjihrig) #5284
  • [35d89d4662] - doc: fix net.createConnection() example (Brian White) #5219
  • [149007c9f0] - doc: replace node-forward link in CONTRIBUTING.md (Ben Noordhuis) #5227
  • [a6aaf2caab] - doc: improve scrolling, various CSS tweaks (Roman Reiss) #5198
  • [18b00deeac] - doc: update DCO to v1.1 (Mikeal Rogers) #5170
  • [3955bc4cd0] - doc: fix minor inconsistencies in repl doc (Rich Trott) #5193
  • [287bce7b48] - doc: merging behavior of writeHead vs setHeader (Alejandro Oviedo) #5081
  • [529e749d88] - doc: fix type references for link gen, link css (Claudio Rodriguez) #4741
  • [275f6dbcbb] - (SEMVER-MINOR) doc: correct tlsSocket.getCipher() description (Brian White) #4995
  • [b706b0c2c5] - http: remove old, confusing comment (Brian White) #5233
  • [ed36235248] - http: remove unnecessary check (Brian White) #5233
  • [7e82a566b3] - (SEMVER-MINOR) http: allow async createConnection() (Brian White) #4638
  • [411d813323] - http: do not emit upgrade on advertisement (Fedor Indutny) #4337
  • [bbc786b50f] - http,util: fix typos in comments (Alexander Makarenko) #5279
  • [a2d198c702] - net: use _server for internal book-keeping (Fedor Indutny) #5262
  • [18d24e60c5] - (SEMVER-MINOR) net: add net.listening boolean property over a getter (José Moreira) #4743
  • [9cee86e3e9] - node: set process._eventsCount to 0 on startup (Evan Lucas) #5208
  • [f2e4f621c5] - node: improve process.nextTick performance (Ruben Bridgewater) #5092
  • [1c6f927bd1] - path: fix input type checking regression (Brian White) #5244
  • [4dae8caf7a] - path: performance improvements on all platforms (Brian White) #5123
  • [46be1f4d0c] - querystring: improve escape() performance (Brian White) #5012
  • [27e323e8c1] - querystring: improve unescapeBuffer() performance (Brian White) #5012
  • [301023b2b4] - querystring: improve parse() performance (Brian White) #5012
  • [98907c716b] - (SEMVER-MINOR) repl: allow multiline function call (Zirak) #3823
  • [c551da8cb4] - repl: handle quotes within regexp literal (Prince J Wesley) #5117
  • [15091ccca2] - src: remove unnecessary check (Brian White) #5233
  • [830bb04d90] - src: remove TryCatch in MakeCallback (Trevor Norris) #4507
  • [7f22c8c8a6] - src: remove unused TickInfo::in_tick() (Trevor Norris) #4507
  • [406eb1f516] - src: remove unused of TickInfo::last_threw() (Trevor Norris) #4507
  • [bcec2fecbd] - src: add AsyncCallbackScope (Trevor Norris) #4507
  • [2cb1594279] - src: fix MakeCallback error handling (Trevor Norris) #4507
  • [8d6e679a90] - src,test,tools: modify for more stringent linting (Rich Trott) #5214
  • [7684b0fcdf] - stream: fix no data on partial decode (Brian White) #5226
  • [f706cb0189] - streams: 5% throughput gain when sending small chunks (Matteo Collina) #4354
  • [25513a473a] - string_decoder: fix performance regression (Brian White) #5134
  • [0e85530d8c] - test: use String.prototype.repeat() for clarity (Rich Trott) #5311
  • [5683efb90a] - test: remove flaky mark for test-debug-no-context (Rich Trott) #5317
  • [c55bb79ace] - test: add test for https server close event (Braydon Fuller) #5106
  • [138ee983b0] - test: refactor test-http-destroyed-socket-write2 (Santiago Gimeno) #4970
  • [df7d91f36b] - test: mitigate flaky test-debug-no-context (Rich Trott) #5269
  • [d9177e7c26] - test: test-process-getactivehandles is flaky (Alexis Campailla) #5303
  • [f5cc04732f] - test: mark test-http-regr-gh-2928 flaky (Rich Trott) #5280
  • [78b349d5d1] - test: disable fs watch tests for AIX (Michael Dawson) #5187
  • [82ee5e94df] - test: mark test-http-agent flaky (Rich Trott) #5209
  • [1494d6f213] - test: minimal repl eval option test (Rich Trott) #5192
  • [e7bf951136] - test: add addons test for MakeCallback (Trevor Norris) #4507
  • [98596a94fa] - (SEMVER-MINOR) test: run v8 tests from node tree (Bryon Leung) #4704
  • [69c544f245] - test: fix flaky test-http-regr-gh-2928 (Rich Trott) #5154
  • [7c88410507] - test: fix child-process-fork-regr-gh-2847 again (Santiago Gimeno) #5179
  • [2c2cb6700d] - test: remove unneeded common.indirectInstanceOf() (Rich Trott) #5149
  • [6340974f21] - test: don’t run test-tick-processor.js on Aix (Michael Dawson) #5093
  • [a8f4db236c] - test: improve path tests (Brian White) #5123
  • [8301773c1e] - test: fix child-process-fork-regr-gh-2847 (Santiago Gimeno) #5121
  • [f2bd86775b] - test: update arrow function style (cjihrig) #4813
  • [aed04b85c2] - tls: nullify .ssl on handle close (Fedor Indutny) #5168
  • [c3f8aab652] - (SEMVER-MINOR) tls: add getProtocol() to TLS sockets (Brian White) #4995
  • [7fc2e3161f] - tools: add Node.js-specific ESLint rules (Rich Trott) #5320
  • [983325cb0c] - tools: replace obsolete ESLint rules (Rich Trott) #5214
  • [f601d040b5] - tools: update ESLint to version 2.1.0 (Rich Trott) #5214
  • [13af565759] - tools: remove obsolete lint rules (Rich Trott) #5214
  • [c566f44f1b] - tools: add recommended ES6 lint rules (Rich Trott) #5210
  • [b611caa0ba] - tools: add recommended linting rules (Rich Trott) #5188
  • [b1a16d1202] - tools: remove excessive comments from .eslintrc (Rich Trott) #5151
  • [c4ed5ece4d] - tools: enable no-proto rule for linter (Jackson Tian) #5140
  • [86f8477b56] - tools: disallow mixed spaces and tabs for indents (Rich Trott) #5135
  • [21fd1496a9] - tools: alphabetize eslint stylistic issues section (Rich Trott)
  • [22c8d50a1f] - tools: parse types into links in doc html gen (Claudio Rodriguez) #4741
  • [5c54d4987d] - tools: enable no-redeclare rule for linter (Rich Trott) #5047
  • [a3a0cf603a] - tools: add arrow function rules to eslint (cjihrig) #4813
  • [bcc26f747f] - tools,doc: fix linting errors (Rich Trott) #5161
  • [47274704aa] - url: fix lint and deopt issues (Brian White) #5300
  • [729ad75860] - url: improve url.parse() performance (Brian White) #4892
  • [6c8378b15b] - vm: fix produceCachedData (Jiho Choi) #5343
  • [d1cacb814f] - (SEMVER-MINOR) vm: introduce cachedData/produceCachedData (Fedor Indutny) #4777

Windows 32-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v5.7.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v5.7.0/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v5.7.0/node-v5.7.0.tar.gz
Other release files: https://nodejs.org/dist/v5.7.0/
Documentation: https://nodejs.org/docs/v5.7.0/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

a68a9d45527077e1e044a4036a9b0fc803faa46c97e30fed71b77a759b4fa2fe node-v5.7.0-darwin-x64.tar.gz
28b6f045f2e0af49a27b30decbb20fd7ba0fc8e2bd4cb07b195abc1012ba2bb0 node-v5.7.0-darwin-x64.tar.xz
1ac837924a7fe48f56b04b0952fa15ae6cde6ef968fd10118ca07a09fd182107 node-v5.7.0-headers.tar.gz
503d2f2cf2575b644fe402e735c8b571f64e66c72ceea619b79261270f0a2447 node-v5.7.0-headers.tar.xz
2b4de1cca92da4aaec0aec0bc767d7a60d8378e830987abc668176d9b6603ccd node-v5.7.0-linux-arm64.tar.gz
e4e1b49269d592719d4064383a5b60d9d37b8a7fe871b133d19636dcf2d9e782 node-v5.7.0-linux-arm64.tar.xz
844f6707f105f31096579c74ad9928c5a9cce85b2a245bb1d697c06e6a9b1ee8 node-v5.7.0-linux-armv6l.tar.gz
348665019e7b73f9e0f4b20531523e487fa44ffd4dc5b22530189ef2e7c37416 node-v5.7.0-linux-armv6l.tar.xz
0712cbe3f05e1828d9cf900ad17007184abc70746bdb2d2064b645f1d3be68c2 node-v5.7.0-linux-armv7l.tar.gz
f306d89481470a4b0970cb913fe3e2008d0aeae3f137f22491d2f0ee3f6a5e53 node-v5.7.0-linux-armv7l.tar.xz
ff7d52a87ce152817e3e4e9dba24530b629729539648a0b347bb70d733591a07 node-v5.7.0-linux-ppc64le.tar.gz
cee33ce09f5a2d31756477d5d45e25293d648e25a31a4b4ea4595a460e67ff1f node-v5.7.0-linux-ppc64le.tar.xz
ae24ae3076393e7968316098ddbb0221bde0830a0e9d878c6493604e1cc553c1 node-v5.7.0-linux-x64.tar.gz
0fe3892820fbd189d72bebe414607485fdca421e86a6c8d60a78ca88585075aa node-v5.7.0-linux-x64.tar.xz
09776060a502118765144284c7ad32bd6a737e681819e8349489b9a015a45bbc node-v5.7.0-linux-x86.tar.gz
8a3e03c24e3fc03a2996d725d9b6676c5e54ce4a5923fc43daf1821adc4957e8 node-v5.7.0-linux-x86.tar.xz
52770beac19d56546509ae5b7d0deff69b2ae02151dbbcf3bd410d52229b6e35 node-v5.7.0.pkg
d8acb8f8fb779d26cda6d3770d48a1f584a0e35ddf154adb4b883bcc4b48a2f2 node-v5.7.0-sunos-x64.tar.gz
2d2f59c80c31723adddaa0dd2b895c9aa079d7829c71e070f18ad775858100c7 node-v5.7.0-sunos-x64.tar.xz
208bba5c8a7cf375fa062d489fc413b96665438fd0c3e4a98ca39397c79691d5 node-v5.7.0-sunos-x86.tar.gz
b8dad0fa46426024abfb7807568547afebe6f0d98165671589c92337b2e6dcc1 node-v5.7.0-sunos-x86.tar.xz
2338b46a2f45fbb747089c66931f62555f25a5928511d3a43bbb3a39dcded2d8 node-v5.7.0.tar.gz
7b82697825bd1259d87976608a2d4da609c7bb5eb2d447a58990746317b8c70d node-v5.7.0.tar.xz
0567317ba66b7e3f86a1aaf32a54b6485dabff9493d9d651740eccbaedb56b91 node-v5.7.0-x64.msi
ed2723660c1fd6430987904d305de075b49ce6f5cacc21685e7adf35d0af60c9 node-v5.7.0-x86.msi
44b77cb1ab7a2b2e8da91e4cacfc250646c9d0fe8c535c4f208bce74611b084c win-x64/node.exe
d899a74a6c865c08d0bd6923d202ee21c1f4152868b5559a3b70be7b28c1d775 win-x64/node.lib
d562d5d6afa66c503df40ba531c1bd2a16c4ef3e875be5a479ffbf9dc2fcdfa9 win-x86/node.exe
d996aca9ca5d9a370df5c74c88980877f6864c13f326c0cf6e5c4c93ffd62b45 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJWy+++AAoJEMJzeS99g1Rd3skIALQJLDwDo0WuNGFmMWCieq5i
fNlLQTwrCh284eEnOBSX7YfjsexLCU8ncOYWIYoJQtUioZS53RtoPpsGUxX7dqwS
T7gaq7WF4kYba+QeWSKbxv2blODDqY5dyys/ck/6Yp2OzxRUy1DkAdkXwa4dMPx/
5OVn7cn8TY/C5TobAE06BX9CQXP5v0vzqQqgB2fE1sZ7unlFe9xI5Cu5xoqa3G0w
w1vWFTOug7TJZOUgaIH8O+k53cu0k//bm582285X5YdYMknZ0PYMU+9zqD5AMH6f
6/iSuuk6lroEX+An5dK37RRXkig9BnHvnRkMxsoARIT33qkI8iauGzxNHt2jB5M=
=BwDD
-----END PGP SIGNATURE-----

Node v4.3.1(LTS)

주요 변경 사항

  • buffer
    • byteLength가 Buffer에 대해 제대로 동작합니다. (Jackson Tian)
  • debugger
    • node가 아닌 컨텍스트에서의 호출을 방지합니다. (Ben Noordhuis)
      • #4328
      • debugger의 세그멘테이션 오류를 수정하였습니다.
    • 디버그 컨텍스트를 시작하지 않습니다. (Myles Borins)
      • #4819
      • util 메서드 사용 시 충돌났던 사항을 수정하였습니다.
  • deps
    • http-parser 2.5.2로 업데이트 하였습니다. (James Snell)

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v4.3.1/node-v4.3.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v4.3.1/node-v4.3.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v4.3.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v4.3.1/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v4.3.1/node-v4.3.1.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-sunos-x64.tar.gz
ARMv6 32-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-armv6l.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-armv7l.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-arm64.tar.gz
Source Code: https://nodejs.org/dist/v4.3.1/node-v4.3.1.tar.gz
Other release files: https://nodejs.org/dist/v4.3.1/
Documentation: https://nodejs.org/docs/v4.3.1/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

9c0751ee88a47c10269eb930d7ad7b103c2ba875c3a96204ca133dc52fc50826 node-v4.3.1-darwin-x64.tar.gz
264314ea7c696807c47aaa8d9d89425a4f2e7ed47dd1ea282426af56cc8227b0 node-v4.3.1-darwin-x64.tar.xz
8ba5c1e5eb5509e0f4f00d56e1916ac703fdd05cf353f119451f2b37c51987a5 node-v4.3.1-headers.tar.gz
951648b678b8ed7e1dbd6ce0800ffc66547b30e24b553b6574880fe2df4ff443 node-v4.3.1-headers.tar.xz
cd55ce4426f9dd9be878fb89d715cbaf589210162e4269ce2ccfd6b9674385e9 node-v4.3.1-linux-arm64.tar.gz
54e0fcea69a3111458d82e982574a2e9bd02af44435065a697d0669fbac8a5f2 node-v4.3.1-linux-arm64.tar.xz
c42383509b7ad8a400da5b5605e2f8663cbe7e214a7c2cfa94964c57b1842ad8 node-v4.3.1-linux-armv6l.tar.gz
8e0e8e80dcf69b009ff2730e07a672399cabd1de948980df77a20bcb897f3731 node-v4.3.1-linux-armv6l.tar.xz
8fcf8016b01137d6ccb6d048227af30240a7a01cc40126b0f88f9e99ee40a552 node-v4.3.1-linux-armv7l.tar.gz
99b82b14f40cab03070a67b57790b9693fffaf7ba97b6c77b2225d767418e5d7 node-v4.3.1-linux-armv7l.tar.xz
b3af1ed18a9150af42754e9a0385ecc4b4e9b493fcf32bf6ca0d7239d636254b node-v4.3.1-linux-x64.tar.gz
1952d92af83b1bd7ffdb4735999f93a91e0d34ba1315ea1210f16f2e411125e4 node-v4.3.1-linux-x64.tar.xz
b0ac5a9ec4c03b8e119498addd70c3d3ab030abe8d9ca1f120627e6ee2673acc node-v4.3.1-linux-x86.tar.gz
ff7c223cc1119a9ba8c32cdc7ef7c1a00b666ecb1e82d35259706e320c8a99bc node-v4.3.1-linux-x86.tar.xz
75195a95819aeb8aad75c8ec3b9592eb42ca483d4d2a74d299c942eb25cdf61e node-v4.3.1.pkg
f5d51b0d4324e88db468b20ddd3a3790d9dcaf10fe977e328e5d39976028573c node-v4.3.1-sunos-x64.tar.gz
7975f71fb5eeb381572408d7eb39e50488d0005daba09c2c0e05cc0fcee52004 node-v4.3.1-sunos-x64.tar.xz
32d2369d00a50661c0ace7dd4d99105bda36430b27c8be129731bb44ac3064b0 node-v4.3.1-sunos-x86.tar.gz
298fd5c5a998312d9a4bb96b03fcbedcfe6e3a0fee76f8fa4c5d017f0b90c544 node-v4.3.1-sunos-x86.tar.xz
61e2d58e861b6c9dbf0ac7624b718198cbd59b88a9de31a39a05de95a32eee73 node-v4.3.1.tar.gz
9f2fb884655add686a0414800ec2a58279a973520d42f18362f492715625ffa8 node-v4.3.1.tar.xz
0da4c8de80fc753dafb032003ea1f5835928a8744855a20a0ad6ec9b1e034863 node-v4.3.1-x64.msi
af0fa21c6a6383a9eb619af7fe8f731ae32559dfefe7813c4a0ad515bfdb3149 node-v4.3.1-x86.msi
6064b088b0945ead21040f224e12a777f4a7c16328fbc5ce1f1f07d443fbe613 win-x64/node.exe
739b2a55f75b995b67b97030d389cecc3c439ea23a047b64e4e35db90adc4701 win-x64/node.lib
31c3a28d556ffe643d755887a5f9aa5263d370352d03f9201882234d1334148f win-x86/node.exe
0b821b79a7f43f4897814dd70d853b5ab3e099a4b6833fc2b7ef04b7dc3e9cc2 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJWxK8BAAoJEJM7AfQLXKlGUQEH/j/M/dDYdq8SFo7QX+rMVtXt
m3bXcl5sYB5jzXvvbJhWAaYmOUnIjwfb0tTH9pPqrMuZ6G/96RsYZJe522NVFGhV
LMfguS5qmXNrggUnYSZev8Hpu6Ce+6xSFr7VXgP0g27aS/3S5rpBwVf7dzMC51u4
CSAE7TZGqkEvv5tpSvjfxZuDC5mUnCOTl34e5dBjFsOopOb34VYD6jIMHOp1tlXl
wBUBqTaEM5cy37Iuq24ToAQBtUDz8RDzFQPn3iRAghXEfKEJRomNM5GxXV9fTmyW
t8Oy2PPaFCWqYeeJJvJECPOFNJtSTRNsoghgFFfsbupvOV5vAx4fca7+RjawlYk=
=yrZD
-----END PGP SIGNATURE-----

Node.js 주간 뉴스 2016년 2월 15일

Node.js 뉴스

Node v0.10.42(LTS), Node v0.12.10(LTS), Node v4.3.0(LTS), Node v5.6.0(안정 버전) 릴리스

2016년 2월 보안 릴리스 요약

공개된 취약점을 수정한 OpenSSL 업데이트 버전을 포함한 Node.js v0.10.42(유지보수 버전), v0.12.10(LTS), v4.3.0 “Argon”(LTS), v5.6.0(안정 버전)을 릴리스했습니다.

LTS 버전인 “Argon”은 보안 수정 사항으로 인해 v4.2.x에서 v4.3.x으로 버전을 변경했습니다. 향후 v4.2.x에 대한 업데이트는 없을 것입니다. 가능한 빨리 v4.3.0으로 업그레이드 할 것을 권장합니다.

현재 사용 중인 Node.js 배포판에 수정된 보안 취약점이 미치는 영향이나 긴급한 업그레이드의 필요성을 알아보고자 하는 분들은 아래 링크를 참고하세요.

자세한 내용은 https://nodejs.org/en/blog/vulnerability/february-2016-security-releases/ 문서에서 볼 수 있습니다.

OpenSSL 업그레이드 요약

Node.js v0.10.42와 v0.12.10은 포함된 OpenSSL 버전을 1.0.1q에서 1.0.1r로 업그레이드합니다. 자세한 내용은 OpenSSL 1.0.1 변경 기록에서 확인하세요.

Node.js v4.3.0과 v5.6.0은 포함된 OpenSSL 버전을 1.0.2e에서 1.0.2f로 업그레이드합니다. 자세한 내용은 OpenSSL 1.0.2 변경 기록에서 확인하세요.

다가오는 이벤트

  • NodeConf Adventure 2016. “NodeConf Adventure의 1차 티켓을 신청할 수 있습니다!”. 미국 캘리포니아 주 마린 카운티 Walker Creek Ranch에서 2016년 6월 9일부터 12일까지 열립니다.
  • NationJS Node Day Conference. 지금 표를 살 수 있습니다. 워싱턴 DC에서 2016년 3월 11일에 열립니다.

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Express가 Node.js 재단의 인큐베이터 프로그램에 추가되었습니다.

Node.js 재단이 Express를 재단의 인큐베이터 프로그램에 추가했습니다.

샌프란시스코, 2016년 2월 10일 – 커뮤니티가 주도하고 기업들이 지원하는 컨소시엄으로 Node.js 플랫폼의 개발을 돕는 Node.js 재단에서 가장 인기 있는 Node.js 웹서버 프레임워크인 Express와 그 관련 모듈이 재단의 새로운 인큐베이션 프로젝트가 되었다고 발표했습니다.

지난 2년 동안 5,300만 이상의 다운로드가 이뤄진 Express는 웹 애플리케이션을 만들기 위한 핵심 툴킷 중 하나가 되었고 Express의 안정성이 많은 Node.js 사용자에게 너무 중요해졌고 특히 Node.js를 시작하는 사람들에게는 더더욱 중요합니다. Express는 Node.js를 사용하는 중요한 프로젝트의 기반이 되기도 하는데 여기에는 Express를 확장한 안전하고 유연한 레이어를 가져서 기업에서 많이 사용되는 kraken.js가 있습니다. Express는 2014년 PayPal이 오픈소스로 공개했습니다. Expess는 맞춤형 기업용 Node.js 애플리케이션을 쉽게 만들 수 있는 웹 프레임워크인 Sails.js와 Node.js API 프레임워크인 Loopback의 기반이기도 합니다.

“이 프레임워크는 많은 Node.js 사용자에게 아주 중요한 부분을 차지하고 있습니다.”라고 Node.js 재단의 커뮤니티 관리자인 Mikeal Rogers가 얘기했습니다. “이 프로젝트를 Node.js 재단으로 가져와서 오픈 거버넌스를 적용하는 것은 Express가 다루고 있는 문제를 해결하려는 다른 접근방법과 경쟁해서 건강한 생태계를 유지할 수 있고 많은 기업과 사용자에게 믿을 만한 선택이 될 수 있게 할 것입니다.”

“Express를 개발하고 유지 보수하는 작업은 커뮤니티에는 엄청난 자산입니다.”라고 NodeSource의 최고 노드 책임자(Chief Node Officer)이자 Node.js 재단의 기술 결정 위원회(TSC, Technical Steering Committee) 책임자인 Rod Vagg이 얘기했습니다. “지난달에만 500만 패키지가 다운로드된 이 프로젝트의 안정성은 오픈 거버넌스로 크게 향상될 것입니다. 이는 Node.js 재단이 Node.js 기술과 개발자 생태계를 지원하는 노력에 아주 중요합니다.”

“IBM은 Node.js 생태계를 키우고 지원하는 것뿐만 아니라 Node.js 개발자들이 더 똑똑하고 빠르고 민첩하게 일할 수 있도록 Express 프레임워크에 오픈 거버넌스를 적용했습니다.”라고 IBM 오픈 테크놀로지 부서의 VP(Vice President)인 Todd Moore가 얘기했습니다. “우리는 Express가 Node.js 재단의 최상위 프로젝트로 인큐베이팅 된 것에 설레고 있습니다. Express는 이제 밝은 미래와 장기적인 보금자리를 갖게 되어 전 세계의 Node.js 개발자 커뮤티니에 Express의 리소스와 신뢰성 및 적절성을 보장할 것입니다.”

IBM에서 Express와 관련된 자산을 Node.js 재단에 기부하였습니다.

Node.js 재단의 인큐베이터 프로그램은 작년부터 시작되었습니다. Node.js 재단 인큐베이터 프로그램에 있는 프로젝트는 재단의 기술 결정 위원회와 그 외 워킹 그룹으로부터 지원과 거버넌스 멘토십을 받게 됩니다. 인큐베이터 프로그램은 경쟁력 있고 탄탄한 생태계를 유지하고자 하는 Node.js 사용자의 수많은 요구사항을 지원하기 위해 만들어졌습니다.

Node.js 재단에 대해

Node.js는 200여개국의 수만 개의 회사에서 사용되고 있고 월별 활성 사용자가 3백만 명이 넘습니다. Node.js는 엔터프라이즈 애플리케이션, 로봇, API 엔진, 클라우드 스택, 모바일 웹사이트의 모든 것을 운영하는 고성능, 저지연 애플리케이션의 런타임입니다.

재단은 플래티넘 회원사인 Famous, IBM, Intel, Joyent, Microsoft, PayPal, Red Hat과 골드 회원사인 GoDaddy, NodeSource, Modulus/Progress Software, 실버 회원사인 Apigee, Codefresh, DigitalOcean, Fidelity, Groupon, nearForm, npm, RisingStack, Sauce Labs, SAP, StrongLoop(IBM), YLD!, Yahoo!를 포함한 다양한 회사로 구성되었습니다. 참여하려면 http://nodejs.org를 방문하세요.

Node.js 재단은 Linux 재단 산하의 협업 프로젝트(Collaborative Project)입니다. Linux 재단 협업 프로젝트는 협업 개발의 힘을 이용해 산업과 생태계 전반에 걸친 혁신을 돕기 위한 소프트웨어 프로젝트로 독립적으로 투자를 받습니다. www.linuxfoundation.org