🇰🇷 한글 설명
pyLoad의 _safe_extractall() 함수가 경로 검증 시 문자열 기반의 os.path.commonprefix()를 사용하여 경로 탐색(Path Traversal) 취약점이 발생합니다. 이를 통해 특수하게 제작된 tar 아카이브 파일을 이용해 의도하지 않은 디렉토리에 파일을 생성할 수 있으며, 이는 0.5.0b3.dev97 버전에서 수정되었습니다.
💡 쉬운 설명
압축 파일을 풀 때 파일이 지정된 폴더 안에만 저장되도록 확인하는 기능에 오류가 있습니다. 공격자가 조작한 압축 파일을 사용하면 시스템의 엉뚱한 위치에 파일을 저장해 시스템을 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev97, the _safe_extractall() function in src/pyload/plugins/extractors/UnTar.py uses os.path.commonprefix() for its path traversal check, which performs character-level string comparison rather than path-level comparison. This allows a specially crafted tar archive to write files outside the intended extraction directory. The correct function os.path.commonpath() was added to the codebase in the CVE-2026-32808 fix (commit 5f4f0fa) but was never applied to _safe_extractall(), making this an incomplete fix. This vulnerability is fixed in 0.5.0b3.dev97.
📍 영향받는 시스템
pyLoad 0.5.0b3.dev97 미만 버전
⚔️ 공격 벡터
경로 탐색 문자열이 포함된 특수하게 제작된 tar 아카이브 파일 업로드 및 압축 해제
🛡️ 대응 방법
pyLoad를 0.5.0b3.dev97 버전 이상으로 업데이트하십시오.
🔧 검증 코드
표시된 버전이 0.5.0b3.dev97보다 낮은 버전인지 확인하십시오.
pip show pyload | grep Version