CVE-2026-54166
nicheAuthenticated SSRF via CSV asset import in Shelf asset tracking platform
CVE-2026-54166 is a server-side request forgery (SSRF, CWE-918) in the Shelf platform for tracking physical assets, exploitable by any authenticated user holding the asset:import permission. By supplying a crafted imageUrl to the Asset CSV Content Import feature, the user bypasses URL validation using techniques such as image-extension suffixes, image-related path keywords, domain substring matching, and redirect chains; the server then performs an unrestricted fetch() to the attacker-chosen URL. This lets the attacker reach internal network services and cloud metadata endpoints from the application's network context, and additionally create a memory-exhaustion condition because response bodies are fully buffered before size validation. All deployments running versions prior to 1.20.3 are affected, especially those where accounts with asset:import access exist or self-registration is enabled. No public proof-of-concept, CISA KEV listing, or known in-the-wild exploitation has been reported.
What to do: Upgrade Shelf to version 1.20.3 or later. Until then, restrict the asset:import permission to strictly trusted users and apply egress filtering on the Shelf server (notably blocking link-local/cloud metadata addresses such as 169.254.169.254 and internal RFC1918 ranges). Review logs for unexpected outbound HTTP requests originating from the application server, and watch available memory for signs of the buffered-response exhaustion vector.
| Shelf project Shelf (physical asset tracking platform) | All versions prior to 1.20.3 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Weakness
- CWE-918
- Vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L
In the news0 stories
No ingested article mentions this CVE yet.