CVE-2021-32804
임의 파일 생성/덮어쓰기 취약점 (절대 경로 검증 부족으로 인한)
- 게시됨
- 2021. 8. 3.
- 업데이트됨
- 2024. 8. 3.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 5.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N보통 · 다음 30일
- 백분위수
- 96.6%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
npm 패키지 "tar"(일명 node-tar)는 버전 6.1.1, 5.0.6, 4.4.14, 3.3.2 이전 버전에서 절대 경로 정화(sanitization)가 불충분하여 임의 파일 생성/덮어쓰기 취약점이 있습니다. node-tar는 `preservePaths` 플래그가 `true`로 설정되지 않은 경우 절대 경로를 상대 경로로 변환하여 tar 파일에서 절대 파일 경로의 추출을 방지하는 것을 목표로 합니다. 이는 tar 파일에 포함된 모든 절대 파일 경로에서 절대 경로 루트를 제거하는 방식으로 수행됩니다. 예를 들어 `/home/user/.bashrc`는 `home/user/.bashrc`로 변환됩니다. 이 로직은 파일 경로에 `////home/user/.bashrc`와 같이 반복되는 경로 루트가 포함된 경우 불충분했습니다. `node-tar`는 이러한 경로에서 단일 경로 루트만 제거했습니다. 반복되는 경로 루트가 있는 절대 파일 경로가 주어지면 결과 경로(예: `///home/user/.bashrc`)는 여전히 절대 경로로 해석되어 임의 파일 생성 및 덮어쓰기가 가능했습니다. 이 문제는 릴리스 3.2.2, 4.4.14, 5.0.6 및 6.1.1에서 해결되었습니다. 사용자는 업그레이드 없이 `entry.path`를 정화하는 사용자 정의 `onentry` 메서드 또는 절대 경로가 있는 항목을 제거하는 `filter` 메서드를 만들어 이 취약점을 우회할 수 있습니다. 자세한 내용은 참조된 GitHub Advisory를 확인하십시오. 이후 버전의 tar에서 유사한 버그를 수정하는 CVE-2021-32803에 유의하십시오.
소스
1npm에 영향을 미치는 node-tar의 경로 트래버설 취약점인 CVE-2021-32804에 대한 Docker 기반 재현 환경으로, 단계별 악용 스크립트를 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.