2021년 1월 보안 릴리스

(2021년 1월 4일 업데이트) 보안 릴리스를 사용할 수 있습니다.

다음 이슈에 대해 v10.x, v12.x, v14.x, v15.x 버전의 Node.js 릴리스 라인의 업데이트를 이용할 수 있습니다.

이 업데이트는 아래 나열된 취약점을 수정하며 보안 스캐너가 보고한 npm 관련 문제를 수정하기 위해 npm도 업데이트합니다. npm 관련 문제는 취약점은 아닙니다.

TLSWrap의 use-after-free (높음) (CVE-2020-8265)

영향을 받는 Node.js 버전은 TLS 구현 부분에 있는 use-after-free 버그에 취약합니다.
TLS 가능한 소켓에 데이터를 쓸 때 node::StreamBase::Write는 node::TLSWrap::DoWrite를 호출하며,
이때 첫 번째 인수로 새롭게 할당된 WriteWrap 객체를 전달합니다. 이 객체는 DoWrite 메서드가 에러를 반환하지 않으면
호출한 함수에게 StreamWriteResult 구조체의 일부를 반환합니다. 이는 서비스 거부 혹은 잠재적인 다른 보안 문제를
일으키는 메모리 오염으로 악용될 수 있습니다.

영향받는 버전:

  • 15.x, 14.x, 12.x, 10.x 릴리스 라인의 모든 버전

이 취약점을 보고해 준 Google Project Zero의 Felix Wilhelm 님께 감사드립니다.

Node.js의 HTTP 요청 스머글링(Smuggling) (낮음) (CVE-2020-8287)

영향을 받는 Node.js 버전은 하나의 HTTP 요청에 두 개의 동일한 헤더 필드를 허용합니다. 예를 들어 두 개의 Transfer-Encoding 헤더 필드가 존재할 수 있습니다. 이 경우 Node.js는 첫 번째 헤더 필드를 사용하고 두 번째 헤더 필드는 무시합니다. 이 문제는 HTTP 요청 스머글링 문제를 일으킬 수 있습니다. (https://cwe.mitre.org/data/definitions/444.html)

영향받는 버전:

  • 15.x, 14.x, 12.x, 10.x 릴리스 라인의 모든 버전

이 취약점을 보고해 준 TSRC(Tencent Security Response Center)의 niubl 님께 감사드립니다.

OpenSSL - EDIPARTYNAME NULL 포인터 역참조 (CVE-2020-1971)

이 문제는 Node.js를 통해 악용될 수 있는 OpenSSL의 취약점입니다. 더 자세한 정보는 https://www.openssl.org/news/secadv/20201208.txt에서 읽을 수 있습니다.

영향받는 버전:

  • 14.x, 12.x, 10.x 릴리스 라인의 모든 버전
  • 최신 OpenSSL로 업데이트 된 15.5.0 버전 이전의 모든 15.x 버전

다운로드와 릴리스 세부 사항


요약

Node.js 프로젝트는 모든 지원 중인 릴리스 라인의 새 버전을 2021년 1월 4일 월요일쯤 릴리스할 것입니다.
이 릴리스는 다음 문제를 수정합니다.

  • 심각도가 높은 이슈 두 개
  • 심각도가 낮은 이슈 한 개

영향

Node.js 15.x 버전은 심각도가 높은 이슈 두 개와 낮은 이슈 하나에 취약합니다.

Node.js 14.x 버전은 심각도가 높은 이슈 두 개와 낮은 이슈 하나에 취약합니다.

Node.js 12.x 버전은 심각도가 높은 이슈 두 개와 낮은 이슈 하나에 취약합니다.

Node.js 10.x 버전은 심각도가 높은 이슈 두 개와 낮은 이슈 하나에 취약합니다.

릴리스 시기

릴리스는 2021년 1월 4일 월요일쯤 사용 가능할 예정입니다.

연락처 및 향후 업데이트

현재 Node.js의 보안 정책은 https://nodejs.org/en/security/에서 볼 수 있습니다. Node.js의 취약점을 보고하고 싶다면 https://github.com/nodejs/node/blob/master/SECURITY.md에 정리된 절차를 따르기 바랍니다.

Node.js의 보안 취약점과 보안과 관련된 릴리스의 최신 정보를 얻으려면 https://groups.google.com/forum/#!forum/nodejs-sec에서 소수의 공지만 하는 nodejs-sec 메일링 리스트를 구독해 주세요. 이 프로젝트는 nodejs GitHub 조직에서 관리하고 있습니다.