CVE-2026-39362
HighCVSS 7.1Exploitation Probability (EPSS)
Low risk14th percentile - higher than 14% of all known CVEs
Summary
InvenTree before versions 1.2.7 and 1.3.0 allows authenticated users to fetch files from arbitrary URLs (remote_image) without internal IP validation. An attacker can use this for internal network scanning or SSRF attacks.
Risk Assessment
Risk includes access to internal network resources and potential Server-Side Request Forgery (SSRF) attacks.
Recommendation
Upgrade InvenTree to version 1.2.7 or 1.3.0.
Other vulnerabilities in InvenTree
See all- CVE-2026-35479Medium
In InvenTree prior to versions 1.2.7 and 1.3.0, users with staff access permissions can install plugins via the API without requiring superuser account access. This is inconsistent with other plugin actions (such as uninstalling) which do require superuser access.
- CVE-2026-35478High
Vulnerability in InvenTree from 0.16.0 to 1.2.7. Any authenticated user can create a valid API token for any other user, including administrators, by supplying the target's user ID in a POST /api/user/tokens/ request. The token is immediately usable for full API authentication.
- CVE-2026-35477Medium
InvenTree from version 1.2.3 to 1.2.6 contains a remote code execution vulnerability. Although the template validator uses a sandbox, the renderer in part/helpers.py still uses a non-sandboxed environment, allowing a staff user to execute arbitrary code.
- CVE-2026-35476High
InvenTree is an Open Source Inventory Management System. Prior to 1.2.7 and 1.3.0, a non-staff authenticated user can elevate their account to a staff level via a POST request against their user account endpoint. The write permissions on the API endpoint are improperly configured, allowing any user to change their staff status. This vulnerability is fixed in 1.2.7 and 1.3.0.
Original NVD description (English source)
InvenTree is an Open Source Inventory Management System. Prior to 1.2.7 and 1.3.0, when INVENTREE_DOWNLOAD_FROM_URL is enabled (opt-in), authenticated users can supply remote_image URLs that are fetched server-side via requests.get() with only Django's URLValidator check. There is no validation against private IP ranges or internal hostnames. Redirects are followed (allow_redirects=True), enabling bypass of any URL-format checks. This vulnerability is fixed in 1.2.7 and 1.3.0.

