🇰🇷 한글 설명
pyLoad의 set_package_data() API에서 '_folder' 키 입력값에 대한 경로 검증이 없어서, Perms.MODIFY 권한의 사용자가 임의의 디렉토리를 다운로드 위치로 지정할 수 있습니다. 이를 통해 공격자는 시스템의 중요한 폴더에 악의적인 파일을 설치할 수 있으며, 0.5.0b3.dev100 이상에서 수정됩니다.
💡 쉬운 설명
pyLoad 다운로드 매니저의 폴더 경로 입력에서 검증이 부족해서, 관리자 권한이 없는 사용자도 시스템의 중요한 위치에 파일을 저장하도록 할 수 있습니다. 이 취약점을 악용하면 악성 파일을 체계적으로 배치할 수 있습니다.
🇺🇸 원문 (English)
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, when passing a folder name in the set_package_data() API function call inside the data object with key "_folder", there is no sanitization at all, allowing a user with Perms.MODIFY to specify arbitrary directories as download locations for a package. This vulnerability is fixed in 0.5.0b3.dev100.
📍 영향받는 시스템
pyLoad 0.5.0b3.dev100 미만의 모든 버전
⚔️ 공격 벡터
Perms.MODIFY 권한을 가진 사용자가 set_package_data() API의 '_folder' 파라미터에 절대 경로를 지정하여 다운로드 위치 변조
🛡️ 대응 방법
pyLoad를 0.5.0b3.dev100 이상으로 즉시 업그레이드 및 MODIFY 권한 사용자 검토
🔧 검증 코드
설치된 pyLoad 버전을 확인합니다. 버전이 0.5.0b3.dev100 이상이면 안전하며, 그 미만이면 즉시 업그레이드해야 합니다.
pip show pyload-ng 2>/dev/null | grep -i version || python -c "import pyload; print(pyload.__version__)" 2>/dev/null