DOS 보안 취약점, 2017년 10월

(2016년 10월 24일 갱신) 새 버전 출시

요약

모든 활성 Node.js 릴리스 라인에 적용할 수 있는 업데이트가 준비되었습니다. 이번 업데이트에는 앞서 발표했던 보안 취약점 문제를 수정했습니다.

모든 사용자가 가능한 한 빨리 업데이트할 것을 권장합니다.

다운로드

windowBits 파라미터는 압축할 때 zlib가 메모리에 메시지를 얼마나 저장해 둘 것인지 제어하는 파라미터입니다. 호출될 때 ‘윈도우(window)’가 크면 텍스트에서 반복되는 비트를 더 잘 찾아내고 압축할 수 있지만, 메모리 사용량도 증가합니다. 이 윈도우 크기를 바이트 단위로 표현한 숫자를 밑이 2인 로그에 적용한 값이 바로 windowBits이며 8부터 15까지의 정수를 사용할 수 있습니다.

Node.js가 종료되거나 예외를 발생시키는 문제는 특정 상황에서 windowBits의 값으로 8을 사용할 수 있는 일부 기존 웹소켓 클라이언트 또는 변형된 웹소켓 클라이언트를 사용하여 원격으로 악용될 수 있습니다. 또한 windowBits의 값이 8인 원격 요청으로 실행되는 zLib 동작을 통해 다른 문제를 일으킬 수도 있습니다.

이 문제는 어떤 요청에서 windowBits의 값이 8일 때 내부적으로 9를 대신 사용하도록 수정하여 Node.js 자체적으로 문제를 해결했습니다. 이전 버전의 zLib과도 일관성 있게 동작하며, 기존 애플리케이션에 미치는 영향 또한 적을 것으로 예상합니다.

이 취약점은 CVE-2017-14919로 할당되었습니다.

원래 글은 아래에 있습니다


요약

Node.js 프로젝트는 보안 문제를 수정한 4.x, 6.x, 8.x의 새 버전을 10월 24일이 있는 주에 배포할 예정입니다.

서비스 거부 공격 취약점

4.8.2 이후 버전, 6.10.2 이후 버전, 모든 8.x 버전에는 외부 공격자가 서비스 거부 공격을 일으킬 수 있는 보안 취약점이 있습니다. 이 취약점의 심각도는 ‘높음’으로 설정되어 있으며 영향받는 버전의 사용자는 보안 문제가 수정되면 현재 사용 중인 버전을 업그레이드해야 합니다.

영향

Node.js 4.8.2 이후 버전은 취약합니다.
Node.js 6.10.2 이후 버전은 취약합니다.
Node.js 8.x 버전 전체가 취약합니다.

배포 시기

릴리스는 사용자가 영향 평가를 할 수 있도록 10월 24일 또는 얼마 지나지 않은 때에 취약점의 자세한 내용과 함께 배포될 예정입니다.

연락처 및 향후 업데이트

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

Node.js의 취약점을 제보하고 싶다면 security@nodejs.org로 연락 바랍니다.

보안 취약점, Node.js 보안 관련 릴리스, nodejs GitHub 조직내의 유지보수 되고 있는 프로젝트의 최신 상태를 위해 적은 양으로 통지만 하는 nodejs-sec 메일링 리스트(https://groups.google.com/forum/#!forum/nodejs-sec)를 구독해 주세요.