🇰🇷 한글 설명
Runtipi 4.9.1부터 4.9.3 버전에서 앱 스토어 로고를 제공하는 인증되지 않은 엔드포인트를 통해 임의 파일 읽기가 가능합니다. 공격자가 심볼릭 링크를 포함한 Git 앱 스토어를 이용하면 컨테이너 내부의 설정 파일이나 자격 증명과 같은 민감한 정보를 탈취할 수 있습니다.
💡 쉬운 설명
홈서버 관리 프로그램인 Runtipi의 로고를 보여주는 기능에 허점이 있어, 공격자가 가짜 로고 파일을 통해 서버 내부의 중요한 비밀번호나 설정 파일을 몰래 읽어갈 수 있습니다. 이 문제는 특정 버전에서 발생하며 보안에 취약합니다.
🇺🇸 원문 (English)
Runtipi is a personal homeserver orchestrator. In versions 4.9.1 through 4.9.3, Runtipi serves marketplace app logos from files inside cloned app-store repositories through an unauthenticated endpoint, which leads to arbitrary file read through app-store logo symlinks. The path guard checks only the lexical path before Node reads the file, so a Git app store that contains metadata/logo.jpg as a symbolic link can cause Runtipi to read and return the symlink target. Because the endpoint is public and the symlink target may point outside the cloned repository, this can expose local files from the Runtipi container such as /data/.env, /data/state/seed, logs, or application files. This can disclose JWT secrets, service credentials, local configuration, and operational logs depending on the instance. The issue has been fixed in version 4.10.0.
📍 영향받는 시스템
Runtipi versions 4.9.1 through 4.9.3
⚔️ 공격 벡터
인증되지 않은 엔드포인트를 통한 심볼릭 링크 기반의 임의 파일 읽기 (Arbitrary File Read)
🛡️ 대응 방법
Runtipi를 최신 보안 패치가 적용된 버전 4.10.0 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 4.9.1, 4.9.2, 4.9.3 중 하나가 포함되어 있다면 해당 취약점에 노출된 상태입니다.
curl -s http://<Runtipi_IP>:<Port>/version | grep -E '4.9.[1-3]'