CVE-2026-35477
MediumCVSS 5.5Exploitation Probability (EPSS)
Low risk18th percentile - higher than 18% of all known CVEs
Summary
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.
Risk Assessment
A user with settings access can execute arbitrary code on the server, potentially leading to full system compromise.
Recommendation
Update InvenTree to version 1.2.7 or 1.3.0.
Other vulnerabilities in InvenTree
See all- CVE-2026-61749Medium
InvenTree prior to version 1.4.0 has a vulnerability in WeasyPrint report rendering where privileged users can cause retrieval of attacker-selected resources via HTTP, HTTPS, or local file URI schemes. The lack of a restricted url_fetcher allows reading local files or internal HTTP responses, enabling full-read SSRF, arbitrary local file disclosure including application credentials, and possible compromise of a superuser account. This issue is fixed in version 1.4.0.
- CVE-2026-61748Medium
InvenTree prior to version 1.4.0 has a vulnerability in the /api/report/print/ and /api/report/label/print/ endpoints, which require authentication but do not check per-model view permissions before selecting objects and rendering them with a chosen template. A role-less or unrelated-role account can enumerate object identifiers and download reports containing purchase, sales, part, BOM, stock, build, supplier, customer, pricing, and inventory data that the corresponding detail APIs would deny. This issue is fixed in version 1.4.0.
- CVE-2026-61747Medium
InvenTree prior to version 1.4.0 has a vulnerability in the /api/importer/row/ and /api/importer/mapping/ endpoints, which do not scope querysets to the owner of the associated import session. Any authenticated user, including an account with no assigned roles, can supply another user's import session identifier and retrieve that session's row_data and data fields together with its column mappings. This exposes the full contents of data staged for import across users. This issue is fixed in version 1.4.0.
- CVE-2026-61746Medium
InvenTree prior to version 1.4.0 has a vulnerability in plugin settings endpoints, which lack the IsAuthenticated permission. An unauthenticated caller can retrieve plugin names, setting keys, descriptions, types, choices, and non-protected configuration values. Protected secret values remain masked, limiting the issue to metadata and non-secret configuration disclosure. This issue is fixed in version 1.4.0.
- CVE-2026-61744Medium
InvenTree prior to version 1.4.0 has a vulnerability in the /api/barcode/ endpoint, which accepts an attacker-synthesized internal JSON barcode containing a lowercase model label and integer primary key. The endpoint requires only authentication or a general read scope, and the built-in barcode plugin returns the complete model serializer output without checking the caller's per-model view role. A low-privilege user can enumerate primary keys for parts, stock, locations, supplier and manufacturer parts, orders, and builds to disclose commercially sensitive data. This issue is fixed in version 1.4.0.
- CVE-2026-61745Medium
InvenTree is an Open Source Inventory Management System. Prior to 1.4.0, the POST /api/machine/{pk}/restart/ endpoint in src/backend/InvenTree/machine/api.py uses IsAuthenticatedOrReadScope without requiring the ADMIN role used by other machine management operations. Any authenticated user who lacks the ADMIN role, including a warehouse user with only the STOCK role, can cause MachineRestart to invoke registry.restart_machine() for any registered machine, resetting its status and interrupting active printing, scanning, or other machine operations. This issue is fixed in version 1.4.0.
- CVE-2026-39362High
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.
- 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-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. From 1.2.3 to 1.2.6, the fix for CVE-2026-27629 upgraded the PART_NAME_FORMAT validator to use jinja2.sandbox.SandboxedEnvironment. However, the actual renderer in part/helpers.py was not updated and still uses the non-sandboxed jinja2.Environment. Additionally, the validator uses a dummy Part instance with pk=None, which allows conditional template expressions to behave differently during validation versus production rendering. A staff user with settings access can craft a template that passes validation but executes arbitrary code during rendering. This issue requires access by a user with granted staff permissions. This vulnerability is fixed in 1.2.7 and 1.3.0.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

