피드로 돌아가기
Tuesday, January 21, 2025 Security Releases
Node.js BlogNode.js Blog
Security

Node.js가 2025년 1월 21일 보안 업데이트로 undici 의존성 패치 및 3가지 취약점(diagnostics_channel 권한 우회, Windows 경로 처리 오류, HTTP/2 메모리 누수)을 수정

Tuesday, January 21, 2025 Security Releases

2025년 1월 21일5intermediate

Context

Node.js 18.x, 20.x, 22.x, 23.x 버전에서 diagnostics_channel을 통한 워커 스레드 생성 후킹 시 내부 워커에 접근 가능한 보안 결함이 발견되었다. Windows 환경에서 경로 처리 시 상대 경로가 실제로는 루트 디렉터리를 참조하는 버그가 존재했다. HTTP/2 서버에서 GOAWAY 알림 없이 소켓이 닫힐 때 메모리 누수가 발생했다.

Technical Solution

  • undici 패키지 버전 업그레이드: v23.x/v22.x/v20.x/v18.x에서 각각 v7.2.3/v6.21.1/v5.28.5로 지정
  • diagnostics_channel 접근 제어 강화: 워커 스레드 내부 인스턴스 및 생성자 접근 차단 (Permission Model 사용자 대상)
  • Windows path.join API 경로 해석 수정: 드라이브명을 Windows 환경에서 특수 경로로 명시적 처리
  • HTTP/2 연결 종료 처리 개선: 원격 피어의 비정상 소켓 종료 및 nghttp2 헤더 검증 실패 시 메모리 정리 로직 추가

Key Takeaway

보안 취약점은 단일 컴포넌트(undici)뿐 아니라 권한 모델, 플랫폼별 경로 처리, 프로토콜 상태 관리 등 다층에서 발생하므로 정기적인 종합 보안 감사가 필수적이다.


Node.js

1

8.x 이상 버전을 운영하는 팀은 1월 21일 이후 공개된 보안 업데이트를 적용해야 하며, 특히 Permission Model(--permission 플래그) 사용자와 Windows 환경 배포자, HTTP/2 서버 운영자는 즉시 업데이트 대상이다.

원문 읽기