Skip to main content

InvenTree CVE-2026-61747

| EUVDEUVD-2026-84055 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-21 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as any low-privilege user
  2. Delivery
    Obtain another user's import session ID
  3. Exploit
    Query /api/importer/row/ and /api/importer/mapping/
  4. Execution
    Server returns unscoped row_data and column mappings
  5. Impact
    Read victim's staged import contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires a valid authenticated account on the InvenTree instance - but notably any account works, including one with no assigned roles, because the DataImporterPermissionMixin did not scope DataImportRow/DataImportColumnMap querysets to the DataImportSession owner. The attacker must know or enumerate another user's import session identifier and target the /api/importer/row/ or /api/importer/mapping/ endpoints. Exploitation is limited to instances running versions prior to 1.4.0 that have concurrent multi-user import activity (there must be another user's staged import data present to steal), and the vendor explicitly treats authenticated users as trusted, so the practical exposure is between distrustful co-tenants of the same instance rather than against outsiders. No user interaction or elevated privilege is needed beyond basic authentication.

Impact

This is a low-severity broken-object-level-authorization flaw (CWE-639 IDOR) that the vendor rates 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), and that rating is well-supported: the impact is confidentiality-only (C:L), with no integrity or availability effect, and exploitation requires an authenticated account (PR:L). No EPSS score, no CISA KEV listing, and no public POC were provided, so the exploitation status is 'no public exploit identified at time of analysis.' All signals are consistent and point to LOW real-world priority rather than a high-CVSS-but-overstated issue - in fact the reverse: the CVSS is already low and matches the technical reality. A key mitigating nuance stated explicitly in the advisory is that the InvenTree threat model treats all authenticated instance users as trusted, meaning this is a defense-in-depth hardening fix rather than a boundary breach of an untrusted principal. The 'Authentication Bypass' tag is misleading - nothing is bypassed; an already-authenticated user reads objects they should not be scoped to, which is an authorization (access-control) failure. No conflicting signals between the CVSS vector and the description: both describe authenticated network access.

Exploit ScenarioDerived

An authenticated InvenTree user with no assigned roles enumerates or guesses another user's DataImportSession identifier and issues GET requests to /api/importer/row/ and /api/importer/mapping/ scoped to that session, retrieving the victim's staged row_data, data fields, and column mappings. Because querysets were not scoped to the session owner, the server returns the full contents of another user's staged import data. No public exploit code was identified at time of analysis, and exploitation is limited to accounts that already hold valid credentials on the instance.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 21, 2026

Broken object-level authorization in InvenTree versions prior to 1.4.0 lets any authenticated user, including an account with no assigned roles, read the staged import data and column mappings belonging to another user's DataImportSession by supplying that session's identifier to the /api/importer/row/ or /api/importer/mapping/ endpoints. The impact is confidentiality-only (CVSS 4.4 base, assessed as 4.3: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) and requires a valid login plus knowledge or enumeration of a victim's session ID on an instance where another user has an active import in progress; no public exploit code has been identified at time of analysis and the flaw is not confirmed actively exploited (CISA KEV). The vendor's threat model treats authenticated instance users as trusted, so the realistic exposure is between distrustful co-tenants of the same instance rather than remote outsiders, and version 1.4.0 resolves it.

RemediationAI

Upgrade to InvenTree 1.4.0 (vendor-released patch: 1.4.0), which scopes DataImportRow and DataImportColumnMap querysets to the requesting session owner, adds explicit ownership checks on the session accept endpoints, and deletes staged rows and column mappings once an import completes; the fix is documented at https://github.com/inventree/InvenTree/security/advisories/GHSA-xjpv-cwpw-7qx8 with the code change in https://github.com/inventree/InvenTree/pull/12169 (commit 3c17367e3c2b23631a5d1d7d9b7d93c4174b8eb1). If immediate upgrade is not possible, the practical compensating controls are to avoid granting non-administrative accounts on shared instances (the exploit only matters when a second account has staged import data), to complete and clean up import sessions promptly so little row data is resident as an attack window, and to restrict access to /api/importer/row/ and /api/importer/mapping/ at the reverse proxy or API gateway to a small set of trusted operator IPs or admin accounts - accepting that this breaks legitimate multi-user import workflows for those users. Rotating or removing low-privilege accounts removes the attacker prerequisite entirely, at the cost of the collaboration features the instance was deployed for.

Affected VersionsENISA

InvenTree < 1.4.0

Affected Packages

euvd inventree fix: 1.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

InvenTree is a Django/Django-REST-Framework application, and this is a classic CWE-639 authorization-bypass-through-user-controlled-key (IDOR) defect in the importer app. The DRF viewsets DataImportRowList/DataImportRowDetail and DataImportColumnMappingList/DataImportColumnMappingDetail inherited only from DataImporterPermissionMixin, which enforced a coarse model-permission check but never filtered the queryset by the owning DataImportSession - so a request for a row or mapping object simply fetched it by primary key regardless of which user owned the parent session. Session ownership was likewise unchecked in the accept_fields and accept_rows POST handlers, which looked up DataImportSession.objects.get(pk=...) inside a bare try/except that swallowed every exception. The upstream fix (PR 12169, commit 3c17367e3c2b23631a5d1d7d9b7d93c4174b8eb1) introduces a DataImportSessionChildMixin whose get_queryset() returns queryset.filter(session__user=request.user) for non-staff users while preserving staff-wide access, adds explicit PermissionDenied checks on the session POST paths, and narrows the exception handling to DataImportSession.DoesNotExist. The same commit hardens the data lifecycle: when an import session completes, models.py now deletes the staged rows and column mappings (retaining only the session as an audit record), which shrinks the window during which sensitive staged data exists to be stolen.

Know when Inventree gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Network-reachable API, no special conditions beyond any authenticated account (PR:L), read-only exposure of staged import data yields C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 21, 2026 - 20:02 EUVD

DescriptionCVE.org

InvenTree is an Open Source Inventory Management System. Prior to 1.4.0, the /api/importer/row/ and /api/importer/mapping/ endpoints do not scope DataImportRow and DataImportColumnMap querysets to the owner of the associated DataImportSession. 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, although the InvenTree threat model treats authenticated instance users as trusted. This issue is fixed in version 1.4.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche open-source self-hosted inventory management, limited enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2022-2112 HIGH POC
8.8 Jun 17

Improper Neutralization of Formula Elements in a CSV File in GitHub repository inventree/inventree prior to 0.7.2. Rated

CVE-2022-2111 HIGH POC
8.8 Jun 17

Unrestricted Upload of File with Dangerous Type in GitHub repository inventree/inventree prior to 0.7.2. Rated high seve

CVE-2022-2134 MEDIUM POC
6.5 Jun 20

Allocation of Resources Without Limits or Throttling in GitHub repository inventree/inventree prior to 0.8.0. Rated medi

CVE-2026-35477 CRITICAL
9.9 Apr 08

Remote code execution in InvenTree 1.2.3 through 1.2.6 allows staff users with settings access to execute arbitrary code

CVE-2022-3355 MEDIUM POC
5.4 Sep 29

Cross-site Scripting (XSS) - Stored in GitHub repository inventree/inventree prior to 0.8.3. Rated medium severity (CVSS

CVE-2022-2113 MEDIUM POC
5.4 Jun 17

Cross-site Scripting (XSS) - Stored in GitHub repository inventree/inventree prior to 0.7.2. Rated medium severity (CVSS

CVE-2026-35478 HIGH
8.1 Apr 08

Authentication bypass in InvenTree open source inventory management system allows any authenticated user to generate API

CVE-2026-61744 MEDIUM
6.5 Sep 21

Broken object-level authorization in InvenTree prior to 1.4.0 allows any authenticated low-privilege user - or any holde

CVE-2026-61749 MEDIUM
6.5 Sep 21

InvenTree versions prior to 1.4.0 render report and label templates with WeasyPrint's default URL fetcher, so an authent

CVE-2026-33530 MEDIUM
6.5 Mar 26

Authenticated attackers with low-level privileges can exfiltrate sensitive database information from InvenTree open sour

CVE-2026-27629 MEDIUM
5.9 Feb 25

InvenTree prior to version 1.2.3 allows authenticated staff users to inject malicious Jinja2 template code into batch co

CVE-2024-47610 MEDIUM
5.4 Oct 07

InvenTree is an Open Source Inventory Management System. Rated medium severity (CVSS 5.4), this vulnerability is remotel

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy