
기술적 분석 및 Node.js 'tar' 패키지의 심볼릭 링크 조작을 통한 치명적인 경로 탐색 취약점(CVE-2026-29786)에 대한 개념 증명(PoC)
이 저장소는 널리 사용되는 Node.js tar 패키지에서 발견된 높은 심각도의 취약점인 CVE-2026-29786에 대한 연구를 문서화합니다. 이 결함으로 인해 공격자는 악성 tar 아카이브를 생성하여, 추출 시 심볼릭 링크를 사용해 의도된 추출 디렉터리 외부의 파일을 덮어쓸 수 있습니다(경로 탐색).
이 취약점은 tar 추출 엔진이 파일 경로를 검증하는 방식에 존재합니다. 공격자는 type: 'symlink' 헤더를 조작하여 링크가 민감한 위치(예: /etc/shadow 또는 애플리케이션 구성 파일)를 가리키게 한 후, 추출 과정에서 해당 파일을 덮어쓸 수 있습니다.
이 연구에는 통제된 환경에서 취약점을 시연하기 위한 기능 스크립트 poc.cjs가 포함되어 있습니다.
tar 패키지를 설치합니다:
npm install [email protected]
연구를 재현하려면 특정 취약 버전의 패키지를 설치해야 합니다:
node poc.cjs