🔍 CVE-2026-29509

5.4
CVSS Score
MEDIUM
2026-06-26
2026-10-25 17:10
✅ 완료

🇰🇷 한글 설명

Patool 4.0.5 미만 버전의 safe_extract() 함수에서 경로 탐색 취약점이 발견되었습니다. Python 3.12 미만 환경에서 os.path.commonprefix()를 사용하여 경로를 검증할 때 문자 단위로 비교하는 오류가 발생하여, 조작된 아카이브를 통해 임의의 파일 쓰기가 가능합니다.

💡 쉬운 설명

압축 파일을 풀 때 파일이 지정된 폴더 밖으로 나가지 못하게 막는 검사 기능에 허점이 있습니다. 공격자가 특수하게 만든 압축 파일을 보내면 컴퓨터의 엉뚱한 위치에 악성 파일을 저장할 수 있습니다.

🇺🇸 원문 (English)

Patool before 4.0.5 contains a path traversal vulnerability in the safe_extract() function in patoolib/programs/py_tarfile.py when running on Python before 3.12, where the is_within_directory() helper uses os.path.commonprefix() for character-level string comparison instead of path-level comparison, allowing a crafted archive member path to bypass the containment check. Attackers can supply a malicious archive with specially crafted member paths to write arbitrary files.

📍 영향받는 시스템

Patool 4.0.5 미만 버전 및 Python 3.12 미만 환경

⚔️ 공격 벡터

조작된 경로를 포함한 악성 아카이브 파일을 제공하여 경로 검증 우회 및 임의 파일 쓰기 수행

🛡️ 대응 방법

Patool을 4.0.5 이상 버전으로 업데이트하거나 Python 버전을 3.12 이상으로 업그레이드하십시오.

🔧 검증 코드

출력된 버전이 4.0.5 미만이면 해당 취약점에 노출된 상태입니다.

Shell / Script
pip show patool | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

Python