🇰🇷 한글 설명
Weblate는 웹 기반 현지화 도구입니다. 5.17 이전 버전에서는 프로젝트의 Administration 역할을 가진 사용자가 기계 번역 서비스 URL을 내부 네트워크 주소로 설정할 수 있으며, 설정 검증 과정에서 해당 URL의 응답 본문 일부(최대 200자)가 오류 메시지로 노출됩니다. 이는 부분적 응답 읽기가 가능한 SSRF 취약점입니다. 5.17 버전에서 수정되었습니다.
💡 쉬운 설명
프로젝트 관리 권한을 가진 사용자가 Weblate 서버를 이용해 회사 내부망의 정보를 훔쳐볼 수 있는 문제입니다. 즉시 업그레이드가 어렵다면 기계 번역 서비스 설정을 제한해 위험을 줄일 수 있습니다.
🇺🇸 원문 (English)
Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project "Administration" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.
📍 영향받는 시스템
Weblate 5.17 미만 버전
⚔️ 공격 벡터
프로젝트 Administration 권한을 가진 사용자가 기계 번역 서비스 URL을 내부 네트워크 주소로 지정해 검증 오류 메시지를 통해 응답 일부를 확인
🛡️ 대응 방법
Weblate를 5.17 이상으로 업그레이드하거나, 즉시 조치가 어려우면 WEBLATE_MACHINERY 설정으로 사용 가능한 기계 번역 서비스를 제한
🔧 검증 코드
출력된 Version 값이 5.17 미만이면 취약하며, 5.17 이상이면 패치된 버전입니다.
pip show weblate 2>/dev/null | grep -i version