Cyber Resilience

CVE-2026-35477

Inventree Project Inventree 1.2.3 – 1.2.6

Published
08 April 2026
Modified
24 July 2026
CVSS Score v3.1 5.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N
EPSS Score 0.0026 18th percentile
Risk Priority 36 floored blend · peak EPSS

Summary

CVE-2026-35477 is a medium-severity Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336) vulnerability in Inventree Project Inventree. Its CVSS base score is 5.5 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Template Injection (T1221); ranked at the 18th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-35477 is a vulnerability in InvenTree, an open-source inventory management system, affecting versions 1.2.3 through 1.2.6. It arises from an incomplete remediation of CVE-2026-27629 in the PART_NAME_FORMAT feature, where the validator was updated to use jinja2.sandbox.SandboxedEnvironment, but the renderer in part/helpers.py remained on the non-sandboxed jinja2.Environment. Additionally, the validator relies on a dummy Part instance with pk=None, causing conditional template expressions to evaluate differently during validation compared to production rendering. This flaw is classified under CWE-1336 with a CVSS v3.1 base score of 5.5 (AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N).

A staff user with settings access and granted staff permissions can exploit the vulnerability by crafting a malicious template that passes validation but executes arbitrary code during rendering. Attackers require high-privilege access, with no user interaction needed, enabling network-based exploitation of moderate complexity that results in low confidentiality and integrity impacts due to the changed scope.

The GitHub security advisory (GHSA-84jh-x777-8pqq) states that the issue is addressed in InvenTree versions 1.2.7 and 1.3.0, recommending upgrades to these releases for mitigation.

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1221 Template Injection Stealth
Adversaries may create or modify references in user document templates to conceal malicious code or force authentication attempts.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-27629Same product: Inventree Project Inventree
CVE-2025-49000Same product: Inventree Project Inventree
CVE-2026-39362Same product: Inventree Project Inventree
CVE-2024-47610Same product: Inventree Project Inventree
CVE-2026-35476Same product: Inventree Project Inventree
CVE-2026-33531Same product: Inventree Project Inventree
CVE-2026-35478Same product: Inventree Project Inventree
CVE-2026-35479Same product: Inventree Project Inventree
CVE-2026-33530Same product: Inventree Project Inventree
CVE-2025-64087Shared CWE-1336

Affected Assets

inventree project
inventree
1.2.3 — 1.2.6

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.3.2
  • V1.3.7
  • V1.3.10

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and static analysis can discover missing neutralization of template directives.

Input validation rejects or sanitizes untrusted data before it reaches the template engine, stopping injection of special syntax.

Security engineering principles require use of safe templating APIs and proper escaping of external input.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require proper input neutralization in template engines to prevent injection.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect template-injection flaws but does not itself implement neutralization controls.

prevents

Secure development life cycle mandates input validation and sanitization that directly prevents template-injection weaknesses.

prevents

Application security requirements explicitly call for neutralizing special elements in template engines.

prevents

Secure architecture principles reduce the likelihood of unsafe template processing but do not prescribe specific neutralization techniques.

prevents

Secure coding standards require proper escaping or sandboxing of template directives, directly mitigating CWE-1336.

References