CVE-2026-54166: Shelf Vulnerable to Server-Side Request Forgery (SSRF) via Asset CSV Import imageUrl Validation Bypass
Shelf is a platform for tracking physical assets. Prior to version 1.20.3, authenticated users with the asset:import permission can trigger server-side HTTP requests to attacker-controlled URLs through the Asset CSV Content Import feature. The imageUrl validation logic can be bypassed through multiple techniques, including image-extension suffixes, image-related path keywords, domain substring matching, and redirect chains. After validation, the server performs an unrestricted fetch() request to the supplied URL. This results in a Server-Side Request Forgery (SSRF) vulnerability that allows attackers to reach internal network services, cloud metadata endpoints, and arbitrary external hosts from the application's network context. Additionally, response bodies are fully buffered before size validation, creating a potential memory exhaustion vector. Version 1.20.3 patches the issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.20.3
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated Shelf user must have the asset:import permission and be able to submit a CSV through the Asset CSV Content Import feature. Exploitation does not require user interaction beyond the attacker performing the import.
What systems could be reached through the vulnerable server?
The attacker can cause requests from Shelf's network context to internal network services, cloud metadata endpoints, arbitrary external hosts, and attacker-controlled URLs. Redirect chains can be used to bypass the imageUrl validation and reach a target after initial validation.
Are deployments affected by default?
The issue is reachable where the Asset CSV Content Import feature is available to a user with the asset:import permission. The provided information does not identify any additional configuration prerequisite.
What is the remediation?
Upgrade Shelf to version 1.20.3, which patches the issue. If immediate patching is not possible, restrict the asset:import permission and limit access to the Asset CSV Content Import feature.
Is there an impact beyond SSRF requests?
Yes. Response bodies are fully buffered before their size is validated, so attacker-controlled responses may also create a memory exhaustion condition.