CVE-2026-47277: Runtipi: Unauthenticated arbitrary file read through app-store logo symlinks
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Runtipito a version that resolves this vulnerability.Fixed in 4.10.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-47277?
The severity of CVE-2026-47277 is medium with a score of 6.5.
How do I fix CVE-2026-47277?
To fix CVE-2026-47277, upgrade Runtipi to version 4.10.0 or later.
What types of data can be accessed due to CVE-2026-47277?
CVE-2026-47277 allows for arbitrary file reading, potentially exposing sensitive data through app-store logo symlinks.
Which versions of Runtipi are affected by CVE-2026-47277?
Runtipi versions 4.9.1 through 4.9.3 are affected by CVE-2026-47277.
What causes the vulnerability in CVE-2026-47277?
The vulnerability in CVE-2026-47277 is caused by unauthenticated access to app logos served from cloned app-store repositories.