🇰🇷 한글 설명
REDAXO는 PHP 기반의 콘텐츠 관리 시스템입니다. 5.20.2 버전 이전의 REDAXO에서 백업 권한이 있는 인증된 사용자는 백업 애드온의 파일 내보내기 기능에서 경로 조작을 통해 웹 루트 내에서 임의의 파일을 읽을 수 있습니다. 백업 애드온은 `EXPDIR` POST 매개 변수를 허용된 디렉토리 목록에 대해 유효성 검사를 수행하지 않습니다. 공격자는 상대 경로에 `../` 시퀀스를 포함하거나 문서 루트 내의 절대 경로를 제공하여 생성된 `.tar.gz` 아카이브에任意의 읽을 수 있는 파일을 포함시킬 수 있습니다. 5.20.2 버전에서 이 문제가 해결되었습니다.
💡 쉬운 설명
REDAXO 콘텐츠 관리 시스템에서 백업 권한이 있는 사용자가 임의의 파일을 읽을 수 있는 취약점이 발견되었습니다. 이는 백업 애드온의 파일 내보내기 기능에서 경로 조작이 허용되기 때문입니다. 5.20.2 버전으로 업데이트하면 이 문제가 해결됩니다.
🇺🇸 원문 (English)
REDAXO is a PHP-based content management system. Prior to version 5.20.2, authenticated users with backup permissions can read arbitrary files within the webroot via path traversal in the Backup addon's file export functionality. The Backup addon does not validate the `EXPDIR` POST parameter against the UI-generated allowlist of permitted directories. An attacker can supply relative paths containing `../` sequences (or even absolute paths inside the document root) to include any readable file in the generated `.tar.gz` archive. Version 5.20.2 fixes this issue.
📍 영향받는 시스템
REDAXO 5.20.2 이전 버전
⚔️ 공격 벡터
백업 권한이 있는 사용자가 백업 애드온의 파일 내보내기 기능에서 경로 조작을 수행하여 임의의 파일을 읽음
🛡️ 대응 방법
REDAXO를 5.20.2 버전 이상으로 업데이트하세요.
🔧 검증 코드
로컬에서 Python을 실행하여 REDAXO 버전을 확인하세요. REDAXO가 설치된 서버의 도메인 주소를 `https://example.com/REDAXO/version`에 대체하세요. 취약점 여부를 확인하려면 Python과 requests 라이브러리가 설치되어 있어야 합니다.
python -c "import requests; response = requests.get('https://example.com/REDAXO/version'); if '5.20.2' in response.text: print({"result": "양호", "reason": "REDAXO 버전이 5.20.2 이상"}); else: print({"result": "취약", "reason": "REDAXO 버전이 5.20.2 미만"})"