CVE-2026-32731
ApostropheCMS의 Import-Export Gzip 추출에 임의 파일 쓰기(Zip Slip / 경로 탐색) 취약점 존재
- 게시됨
- 2026. 3. 18.
- 업데이트됨
- 2026. 3. 19.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 25.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 36.9%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
ApostropheCMS는 오픈소스 콘텐츠 관리 프레임워크입니다. `@apostrophecms/import-export`의 3.5.3 버전 이전에는 `gzip.js`의 `extract()` 함수가 `fs.createWriteStream(path.join(exportPath, header.name))`를 사용하여 파일 쓰기 경로를 구성합니다. `path.join()`은 `../`와 같은 탐색 세그먼트를 해석하거나 정화하지 않습니다. 이를 그대로 연결하므로 `../../evil.js`라는 이름의 tar 항목은 의도된 추출 디렉터리 밖의 경로로 해석됩니다. 쓰기 스트림이 열리기 전에 정규 경로 검사가 수행되지 않습니다. 이는 전형적인 Zip Slip 취약점입니다. Global Content Modify 권한이 부여된 사용자 — 콘텐츠 편집자와 사이트 관리자에게 일상적으로 할당되는 역할 — 는 표준 CMS 가져오기 UI를 통해 조작된 `.tar.gz` 파일을 업로드하고, Node.js 프로세스가 호스트 파일시스템에서 접근할 수 있는 모든 경로에 공격자가 제어하는 콘텐츠를 쓸 수 있습니다. `@apostrophecms/import-export`의 3.5.3 버전에서 이 문제가 수정되었습니다.
소스
1CVE-2026-32731에 대한 개념 증명 익스플로잇으로, 취약점을 시연하고 보안 테스트 및 검증을 위한 작동하는 익스플로잇을 제공합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.