Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as JumpServer admin with Applet Host permissions
-
DeliveryInject Jinja2 expression into IP/Host or Core Service Address field
-
ExploitSave malicious Applet Host configuration
-
ExecutionTrigger Applet Host deployment workflow
-
PersistAnsible evaluates injected Jinja2 template from inventory data
-
ImpactExecute arbitrary OS commands as JumpServer service account on control node
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V1 - Encoding and Sanitization Template injection prevention
|
| Exploitation Conditions | Exploitation requires an active JumpServer account with administrator-level privileges and specifically the 'Applet Host management and deployment' permission assigned. The attacker must navigate the Applet Host creation or editing workflow and supply a malicious Jinja2 expression in the IP/Host field or Core Service Address field, and then initiate an Applet Host deployment action to cause Ansible to evaluate the expression. Exploitation is limited by the following factors: the account must hold the elevated Applet Host deployment permission (not a default user role); the attacker must actively trigger a deployment operation, meaning the injection is not passively evaluated; and the command executes as the JumpServer service account, whose privilege level on the host OS varies by deployment. No network-external unauthenticated attack path exists - access to the JumpServer administrative web interface with the correct role assignment is a hard prerequisite. |
| Impact | CVSS 6.7 with PR:H correctly reflects that exploitation is gated behind a high-privilege account with specific Applet Host deployment permissions, which substantially reduces the attack surface compared to unauthenticated or low-privilege flaws. However, the NVD-assigned I:L metric appears inconsistent with arbitrary command execution on the control node - writing files, installing backdoors, or pivoting to managed bastion targets all constitute high integrity impact; this metric warrants vendor clarification. No EPSS score was provided in the input data. The absence of both a CISA KEV entry and confirmed public POC code means there is no evidence of opportunistic or widespread exploitation at this time. Real-world priority is elevated in environments where multiple teams share JumpServer admin access or where role segregation is weak - a malicious or compromised admin with Applet Host permissions can silently compromise the entire bastion infrastructure. In strictly controlled single-admin deployments the practical risk is lower, but the potential lateral reach to all managed assets via the control node makes this a high-priority patch regardless of the moderate base score. |
| Exploit ScenarioDerived | A JumpServer administrator with Applet Host deployment rights navigates to the Applet Host management interface and submits a crafted IP/Host value containing a Jinja2 payload such as a subprocess invocation or file-write expression. When the administrator then triggers deployment, Ansible parses the inventory data containing the injected field and evaluates the template expression in the context of the JumpServer service account, executing the embedded command on the control node. No public POC has been confirmed, but the injection surface is well-understood from the Ansible and Jinja2 SSTI class of vulnerabilities. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Server-side template injection in JumpServer prior to 4.10.17 enables an authenticated administrator with Applet Host management and deployment permissions to plant Jinja2 expressions in the IP/Host or Core Service Address fields, which Ansible then evaluates as live template expressions during Applet Host deployment, yielding arbitrary OS command execution on the JumpServer control node. The patch was released in v4.10.17, confirmed via the GitHub release tag, and no public exploit code or CISA KEV entry has been identified at time of analysis. Because the control node manages downstream bastion targets, a successful exploit has blast radius well beyond the JumpServer process itself.
RemediationAI
Upgrade JumpServer to version 4.10.17 or later; this is the vendor-confirmed fix and is available at https://github.com/jumpserver/jumpserver/releases/tag/v4.10.17. The upstream fixes are spread across PRs #16749 (https://github.com/jumpserver/jumpserver/pull/16749) and #16886 (https://github.com/jumpserver/jumpserver/pull/16886) and commit cc57ba0de5f6015746fae11cfc62402b11618e59. If an immediate upgrade is not possible, the most effective compensating control is to audit and restrict the 'Applet Host management and deployment' permission so it is held only by a minimal set of fully trusted administrators; removing this permission from all but one or two accounts directly eliminates the ability to trigger the vulnerable code path. As an additional layer, network egress from the JumpServer control node to attacker-controlled infrastructure can be restricted via firewall rules to limit post-exploitation reach, though this does not prevent the command execution itself. No other specific workarounds have been documented by the vendor.
Affected VersionsENISA
Affected Packages
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
JumpServer uses Ansible to automate Applet Host provisioning; Ansible's inventory and playbook engine processes fields such as ansible_host using the Jinja2 templating engine. CWE-1336 (Improper Neutralization of Special Elements Used in a Template Engine) captures the root cause: the IP/Host and Core Service Address fields accepted by the Applet Host deployment workflow were not sanitized before being embedded in Ansible inventory or playbook variables, allowing an attacker-controlled Jinja2 expression to reach the template evaluation stage. The commit at cc57ba0 and PRs #16749 and #16886 address the problem by adding a validate_account_username utility with a configurable forbidden-characters set and applying it across serializers, connection-token creation, and virtual account resolution - indicating that multiple input paths shared the same unsanitized-input pattern. The Ansible execution context typically runs with the OS-level privileges of the JumpServer service account, which on many deployments carries broad access to managed hosts.
Know when Ssti 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
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:H
PR:H confirmed by description; S:C and I:H reflect that arbitrary command execution on the bastion control node inherently extends impact to all managed downstream assets, making I:L implausible.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
JumpServer is an open source bastion host and an operation and maintenance security audit system. Prior to 4.10.17, an authenticated administrator with Applet Host management and deployment permissions can inject Jinja2 expressions into the IP/Host field or Core Service Address field, causing Ansible to evaluate ansible_host inventory data or playbook variables during Applet Host deployment and execute arbitrary commands on the JumpServer control node. This issue is fixed in version 4.10.17.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Rejetto HTTP File Server, up to and including version 2.3m, is vulnerable to a template injection vulnerability. Rated c
Invision Community 5.0.0 through 5.0.6 contains an unauthenticated remote code execution vulnerability in the template e
Remote code execution in the WPML WordPress multilingual plugin (versions up to and including 4.6.12) allows Contributor
Server-side template injection in Adobe Commerce, Adobe Commerce B2B, and Magento Open Source allows remote unauthentica
Server-Side Template Injection in OpenCTI notifier templates allows privileged administrators with 'Manage customization
Unauthenticated remote code execution in Rejetto HFS2 (HTTP File Server) through version 2.4.0 lets an attacker execute
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve
changedetection.io is an open source web page change detection, website watcher, restock monitor and notification servic
A server side template injection vulnerability in CrushFTP in all versions before 10.7.1 and 11.1.0 on all platforms all
Remote code execution in WGDashboard 4.3.2 and earlier lets authenticated attackers inject Server-Side Template Injectio
Gibbon through 26.0.00 allows /modules/School%20Admin/messengerSettings.php Server Side Template Injection leading to Re
Server-side template injection in the TYPO3 'Powermail' extension lets an anonymous user submit Fluid template syntax th
EUVD-2026-60468
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB