Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC — CVE-2025-4517에 대한 개념 증명 익스플로잇으로, Python의 tarfile filter='data' 샌드박스의 경로 트래버설 취약점으로, 조작된 심볼릭 링크 체인을 통해 추출 디렉토리 외부에 임의 파일 쓰기를 가능하게 합니다. | Kitploit
도구/GitHubGitHub/estebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingRed TeamingPayload Development
GitHubestebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc

CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC

CVE-2025-4517에 대한 개념 증명 익스플로잇으로, Python의 tarfile filter='data' 샌드박스의 경로 트래버설 취약점으로, 조작된 심볼릭 링크 체인을 통해 추출 디렉토리 외부에 임의 파일 쓰기를 가능하게 합니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
116개월 전아직 검토되지 않음

CVE-2025-4517 — Python tarfile filter="data" 우회 (PoC)

Python tarfile 모듈의 경로 탐색 취약점으로, 버전 3.8.0부터 3.13.1까지 영향을 미칩니다. 안전하지 않은 추출을 방지하기 위해 설계된 filter="data" 샌드박스는 PATH_MAX(4096바이트)를 초과하는 경로를 조작하여 우회할 수 있습니다. 이 경우 os.path.realpath()가 심볼릭 링크 확인을 조용히 중단합니다. 보안 검사는 안전해 보이는 경로를 보는 반면, 커널은 실제 경로를 확인하므로 추출 디렉터리 외부에 쓰기가 가능해집니다. 이 PoC는 우회를 이용하여 /root/.ssh/authorized_keys에 SSH 공개 키를 작성합니다.


작동 방식

  1. 심볼릭 링크 경로를 PATH_MAX를 초과하도록 하는 깊게 중첩된 디렉터리(247자 이름)로 악성 tar를 만듭니다.
  2. filter="data"는 각 경로를 검증하기 위해 os.path.realpath()를 호출하지만, PATH_MAX에서 확인을 중단하고 해당 경로가 여전히 스테이징 디렉터리 내에 있는 것으로 간주합니다. 검사를 통과합니다.
  3. 커널은 추출 중에 전체 경로를 올바르게 확인하여 샌드박스를 탈출합니다.
  4. 탈출된 심볼릭 링크 체인을 통해 일반 파일이 작성되어 /root/.ssh/authorized_keys에 도달합니다.
  5. 주입된 키로 루트 SSH 접근이 확인됩니다.

요구 사항

  • Python 3
  • ssh-keygen 사용 가능 (또는 -k로 자신의 공개 키 제공)
  • 취약한 스크립트가 사용하는 백업 디렉터리에 쓰기 권한
  • 취약한 추출을 트리거할 sudo 권한

사용법

root@kitploit:~
# 자동으로 새 키 쌍 생성
python3 exploit.py

# 기존 공개 키 사용
python3 exploit.py -k ~/.ssh/id_ed25519.pub

예시:

root@kitploit:~
$ python3 exploit.py
[+] SSH keypair generated: /tmp/cve_2025_4517_key
[*] Creating exploit tar...
[+] Exploit tar created: /tmp/cve_2025_4517_exploit.tar
[*] Deploying exploit to: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit deployed successfully
[*] Triggering extraction via vulnerable script...
[+] Extraction completed
[*] Verifying exploit via SSH...
[+] SUCCESS! SSH as root confirmed: uid=0(root) gid=0(root) groups=0(root)

============================================================
[+] EXPLOITATION SUCCESSFUL!
[+] SSH into root with: ssh -i /tmp/cve_2025_4517_key root@localhost
============================================================

[?] Open root shell now? (y/n):

참고 자료

  • CVE-2025-4517
  • Python tarfile 문서 — 추출 필터
  • Python 보안 권고

크레딧

  • 발견: Python 보안 대응 팀
  • 정리 및 단순화: Esteban Zárate
도구 다운로드