피드로 돌아가기
Node.js 18.20.2 (LTS)
Node.js BlogNode.js Blog
Security

Node.js 18.20.2가 Windows에서 child_process.spawn의 args 파라미터를 통한 커맨드 인젝션 취약점(CVE-2024-27980) 패치

Node.js 18.20.2 (LTS)

2024년 4월 10일2beginner

Context

Windows 운영체제에서 child_process.spawn 함수 호출 시 shell 옵션을 활성화하지 않은 상태에서도 args 파라미터를 통해 커맨드 인젝션 공격이 가능한 보안 취약점이 존재했습니다.

Technical Solution

  • CVE-2024-27980 보안 취약점 패치: Windows 환경에서 child_process.spawn의 args 파라미터 검증 강화
  • Node.js 18.20.2 LTS 버전 릴리스: 주요 플랫폼별 바이너리 및 인스톨러 제공 (Windows 32/64-bit, macOS Intel/Apple Silicon, Linux x86/ARM/PowerPC/s390x, AIX)
  • 배포 형식 다양화: MSI 인스톨러, ZIP 아카이브, TAR.GZ 및 TAR.XZ 압축 형식 제공
  • PGP 서명을 통한 무결성 검증: 모든 바이너리 및 소스 코드 파일에 대한 SHA256 체크섬 및 PGP 서명 제공

Impact

아티클에 성능 개선, 성능 저하, 성능 지표 등 정량적 수치가 없습니다.

Key Takeaway

Windows 환경에서 자식 프로세스를 실행하는 코드는 shell 옵션 미활성화 상태에서도 보안 검증이 필요하며, 보안 업데이트 릴리스 시 PGP 서명을 통한 무결성 검증 메커니즘 구현이 중요합니다.


Node.js를 사용하는 백엔드 서비스에서 Windows 환경에 배포되는 경우,

1

8.

2

0.2 이상 버전으로 업그레이드하여 child_process.spawn 호출 시 인자 검증 강화로 인한 커맨드 인젝션 공격 방지가 필요합니다.

원문 읽기