🇰🇷 한글 설명
pyLoad 0.5.0b3.dev97 이전 버전에서 SSL 인증서 설정 시 옵션 이름 오류(ssl_cert/ssl_key vs 실제 ssl_certfile/ssl_keyfile)로 인해 관리자 권한 검증이 실패합니다. 이로 인해 SETTINGS 권한만 있는 일반 사용자도 SSL 인증서 및 키 파일 경로를 변경할 수 있습니다.
💡 쉬운 설명
pyLoad 프로그램의 보안 설정(SSL 인증서) 변경 권한 확인 코드에 버그가 있어서, 관리자만 할 수 있어야 할 작업을 일반 사용자도 할 수 있게 됩니다. 이를 이용해 통신 보안을 우회하거나 가로챌 수 있습니다.
🇺🇸 원문 (English)
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev97, the ADMIN_ONLY_CORE_OPTIONS authorization set in set_config_value() uses incorrect option names ssl_cert and ssl_key, while the actual configuration option names are ssl_certfile and ssl_keyfile. This name mismatch causes the admin-only check to always evaluate to False, allowing any user with SETTINGS permission to overwrite the SSL certificate and key file paths. Additionally, the ssl_certchain option was never added to the admin-only set at all. This vulnerability is fixed in 0.5.0b3.dev97.
📍 영향받는 시스템
pyLoad 0.5.0b3.dev97 미만 모든 버전
⚔️ 공격 벡터
SETTINGS 권한을 가진 비관리자 사용자가 set_config_value() 함수를 통해 SSL 인증서 및 키 파일 경로를 임의로 변경
🛡️ 대응 방법
pyLoad를 0.5.0b3.dev97 이상으로 업그레이드
🔧 검증 코드
Version이 0.5.0b3.dev97 이상이면 패치됨, 미만이면 취약함
pip show pyload-ng 2>/dev/null | grep -i version