2020년 9월 보안 릴리스

(2020년 9월 15일 업데이트됨) 보안 릴리스가 나왔습니다.

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

CR을 하이픈으로 변환해서 발생하는 HTTP 요청 스머글링(Smuggling)(높음) (CVE-2020-8201)

파싱 전에 HTTP 요청 헤더의 캐리지 리턴을 하이픈으로 변환하는 Node.js 버전이 영향을 받습니다. 이는 헤더를 해석하는
표준 방법이 아니기 때문에 HTTP 요청 스머글링(Smuggling)이 될 수 있습니다.

영향받는 버전:

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

이 취약점을 보고한 Safebreach에서 일하는 Amit Klein에게 감사드립니다.

끝나지 않은 HTTP/1.1 요청 때문에 리소스 소진(CWE-400)에 의한 서비스 거부(위험) (CVE-2020-8251)

서버가 새로운 연결을 받지 못하게 할 수 있는 지연된 요청 제출을 이용한 HTTP 서비스 거부(DoS) 공격에 Node.js는 취약합니다.
이 수정에서는 http.Server에 requestTimeout라는 옵션을 새로 추가했고 기본값은 0인데 0으로 지정하면 비활성화됩니다.
이 값은 Node.js를 엣지 서버로 사용할 때 설정해야 합니다. 자세한 내용은 문서를 참고하길 바랍니다.

영향받는 버전:

  • 14.x 릴리스 라인의 모든 버전

이 취약점을 보고하고 고친 NearFom의 Paolo Insogna와 Matteo Collina에게 감사드립니다.

fs.realpath.native가 버퍼 오버플로를 유발할 수 있습니다.(중간) (CVE-2020-8252)

처리된 경로가 256 bytes보다 긴 경우 libuv의 realpath 구현체가 버퍼의 크기를 잘못 결정해서 버퍼 오버플로가 될 수 있습니다.

영향받는 버전:

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

이 취약점을 보고한 Tencent의 Xiaoyi Shi에게 감사드립니다.

다운로드와 릴리스 상세 내용


요약

Node.js 프로젝트는 2020년 9월 15일 화요일 또는 그 직후에 지원하는 모든 릴리스 라인의 새 버전을 릴리스할 것입니다.

  • 위험 심각도의 이슈 1개
  • 높은 심각도의 이슈 1개
  • 중간 심각도의 이슈 1개

영향

Node.js 14.x 릴리스 라인은 위험 심각도의 이슈 하나와 높은 심각도의 이슈, 중간 심각도의 이슈 하나에 취약합니다.

Node.js 12.x 릴리스 라인은 높은 심각도 이슈 하나와 중간 심각도 이슈 하나에 취약합니다.

Node.js 10.x 릴리스 라인은 중간 심각도 이슈 하나에 취약합니다.

릴리스 시기

2020년 9월 15일 화요일 또는 그 직후 릴리스 될 것입니다.

연락처 및 향후 업데이트

현재 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 조직에서 관리하고 있습니다.