🇰🇷 한글 설명
Halo 2.24.3 이전 버전에서 백업 다운로드 엔드포인트의 경로 순회 취약점으로 인해, 인증된 관리자가 서버 파일시스템의 임의 파일을 읽을 수 있습니다. 또한 백업 생성 엔드포인트에서 status 필드를 정제하지 않는 문제도 함께 존재합니다.
💡 쉬운 설명
Halo 웹사이트 관리 도구의 백업 다운로드 기능에 결함이 있어, 관리자 권한을 가진 사용자가 서버의 다른 파일도 열어볼 수 있습니다. 2.24.3 버전에서 수정되었습니다.
🇺🇸 원문 (English)
Halo is an open source website building tool. Prior to 2.24.3, a path traversal vulnerability in the backup download endpoint allows authenticated administrators to read arbitrary files from the server filesystem. The backup download endpoint (GET /apis/console.api.migration.halo.run/v1alpha1/backups/{name}/files/{filename}) in MigrationServiceImpl.download() resolves the backup filename via Path.resolve() without validating that the resolved path stays within the designated backups directory. Also, the Backup creation endpoint (POST /apis/migration.halo.run/v1alpha1/backups) does not sanitize the status fields during creation This vulnerability is fixed in 2.24.3.
📍 영향받는 시스템
Halo 2.24.3 미만 버전
⚔️ 공격 벡터
인증된 관리자가 백업 다운로드 API의 파일명에 상위 디렉터리 경로(../)를 삽입하여 서버의 임의 파일을 읽음
🛡️ 대응 방법
Halo를 2.24.3 이상 버전으로 업데이트하고, 관리자 계정 접근을 제한하며 백업 엔드포인트 접근 로그를 점검
🔧 검증 코드
출력된 version 값이 2.24.3 미만이면 취약, 2.24.3 이상이면 패치 적용된 버전입니다 (포트와 actuator 노출 여부는 환경에 따라 다를 수 있음).
curl -s http://localhost:8090/actuator/info 2>/dev/null | grep -Eo '"version"\s*:\s*"[^"]+"'