피드로 돌아가기
Node.js BlogSecurity
원문 읽기
Node.js가 Windows 경로 API와 문자열 해시 취약점 2건을 보안 업데이트로 수정
Tuesday, July 15, 2025 Security Releases
AI 요약
Context
Node.js의 경로 처리 API에서 Windows 예약 디바이스명(CON, PRN, AUX)을 불완전하게 검증하여 보안 위험이 발생했다. V8 엔진의 문자열 해시 알고리즘 변경으로 인해 공격자가 의도적으로 해시 충돌을 유발할 수 있는 HashDoS 취약점이 재발생했다.
Technical Solution
- CVE-2025-23084 불완전 수정: path.join API의 Windows 디바이스명 검증 로직을 강화하여 경로 조작 공격 방어
- V8 rapidhash 문자열 해시 재설계: 해시 시드 정보 없이도 충돌을 생성할 수 없도록 알고리즘 수정
- 다중 릴리스 라인 동시 패치: 24.x, 22.x, 20.x 모든 활성 릴리스 라인에서 2025년 7월 15일 이후 업데이트 배포
- 릴리스 라인별 심각도 분류: 24.x는 고심각도 2건, 22.x와 20.x는 고심각도 1건씩 수정
Key Takeaway
Node.js와 같은 런타임 환경은 OS 고유 기능(Windows 디바이스명 처리)과 저수준 라이브러리(V8 해시 함수)의 보안 변경사항을 주기적으로 재검토해야 한다. 보안 분류의 불일치(V8의 비보안 판정 vs Node.js의 보안 판정)는 실제 배포 환경의 위협 모델과 추상 구현의 차이를 반영해야 함을 시사한다.
실천 포인트
Windows 기반 Node.js 애플리케이션을 운영하는 팀은 path.join 호출 시 입력값 검증을 추가로 수행하거나, 즉시 2025년 7월 15일 이후 배포되는
2
4.x/
2
2.x/
2
0.x 패치 버전으로 업그레이드하여 CVE-2025-23084 노출을 제거해야 한다. 또한 해시 기반 데이터 구조(객체 키, Map 등)를 활용하는 서비스는 요청 기반 해시 충돌 공격에 대비하기 위해
2
4.x 업데이트를 우선 적용해야 한다.