🇰🇷 한글 설명
Cloudreve 4.18.0 미만 버전에서 SSRF 방어 로직이 NAT64, IPv4-compatible, 6to4와 같은 IPv4-in-IPv6 전환 형식을 제대로 디코딩하지 못하는 취약점이 발견되었습니다. 인증된 사용자가 원격 다운로드 기능을 악용하여 루프백, 사설 IP 또는 클라우드 메타데이터 주소를 포함한 주소를 전달하면 내부 서비스 응답과 클라우드 자격 증명이 노출될 수 있습니다.
💡 쉬운 설명
파일 공유 시스템의 보안 검사 기능이 특정 특수 주소 형식을 제대로 걸러내지 못하는 문제입니다. 이를 통해 공격자가 시스템 내부의 비밀 정보나 클라우드 관리 권한을 훔쳐갈 수 있습니다.
🇺🇸 원문 (English)
Cloudreve is a self-hosted file management and sharing system. Prior to 4.18.0, the ValidateExternalURL server-side request forgery guard in pkg/request/ssrf.go passes resolved addresses to checkIP without decoding NAT64, IPv4-compatible, and 6to4 IPv4-in-IPv6 transition forms. An authenticated user with remote-download access can provide SrcUri through RemoteDownloadTask.createDownloadTask so a wrapper embedding a loopback, private, link-local, or cloud metadata IPv4 address is classified as public and fetched, exposing internal service responses and cloud instance credentials. IPv4-mapped IPv6 addresses remain blocked because Go converts that form with net.IP.To4. This issue is fixed in version 4.18.0.
📍 영향받는 시스템
Cloudreve 4.18.0 미만 모든 버전
⚔️ 공격 벡터
인증된 사용자가 RemoteDownloadTask를 통해 변형된 IPv6 주소를 입력하여 내부 네트워크에 접근
🛡️ 대응 방법
Cloudreve를 최신 버전인 4.18.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 4.18.0 미만의 버전 번호가 나타나면 취약한 상태입니다.
curl -s http://<target-ip>:<port>/version | grep -E '4\.[0-1][0-7]\.'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
💻 영향받는 소프트웨어
Multi-Domain Security Management Server