Executive brief
InvenTree, an open-source inventory management system, contains a security flaw in its optional remote image download feature. If enabled, an authenticated user can trick the server into making requests to internal network resources or private cloud metadata services that should not be accessible from the outside. This could allow an attacker to probe internal infrastructure or access sensitive internal data.
Technical details
A Server-Side Request Forgery (SSRF) vulnerability exists in InvenTree's remote image download functionality. When the 'INVENTREE_DOWNLOAD_FROM_URL' setting is enabled, the application uses the Python 'requests' library to fetch user-provided URLs. The implementation relies solely on Django's URLValidator, which fails to block private IP ranges (e.g., 127.0.0.1, 10.x.x.x) or internal hostnames. Furthermore, because 'allow_redirects' is set to True, an attacker can bypass initial format checks by providing a benign-looking URL that redirects to a restricted internal target. This allows authenticated users to scan internal networks or access cloud metadata services. The issue is resolved in versions 1.2.7 and 1.3.0 by implementing IP address validation against private ranges.
Affected products
- InvenTree InvenTree < 1.2.7, < 1.3.0
Timeline
- 2026-04-07: advisory: GitHub Security Advisory published
- 2026-04-08: disclosed: CVE published to NVD