Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliveryCreate/edit asset with Jinja payload in IP/HOST
-
ExploitTrigger server-side template rendering
-
ExecutionInject OS command via CWE-78
-
ImpactExecute commands on JumpServer host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated JumpServer account (PR:L) with permission to create or edit a Host asset, supplied value being a crafted IP/HOST address containing Jinja2 template syntax ({{ }}, {% %}, or { #}); the payload executes only when that address is subsequently processed by the Template Rendering component (the UI:P passive-interaction condition). Limiting factors: affects versions up to and including 4.10.19 (fixed in 5.0.0); exploitation is not possible against anonymous/unauthenticated users; and it depends on the asset address reaching the vulnerable rendering path. These constraints mean exploitation is realistically available to insiders or attackers who have already obtained valid low-privileged credentials. |
| Impact | This is a moderate, authentication-gated risk rather than a drop-everything emergency. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) indicates a remote, low-complexity attack that nonetheless requires an authenticated account (PR:L) and some passive user interaction (UI:P) - meaning an attacker must already be a valid JumpServer user with the ability to create or edit an asset, and the malicious IP/HOST value must subsequently be rendered. A public proof-of-concept exists (VulDB gist), which raises practical exploitability, but the CVE is NOT in CISA KEV and no EPSS score was provided, so there is no evidence of active, widespread exploitation - exploitation status is 'publicly available exploit code exists,' which is distinct from confirmed in-the-wild use. The most significant signal conflict is impact magnitude: the vendor rates confidentiality/integrity/availability as Low (VC:L/VI:L/VA:L, base score 5.1), yet the root cause is CWE-78 OS command injection via server-side template (Jinja) rendering, confirmed by the patch adding validators that strip Jinja delimiters from the address field - OS command injection normally yields high-impact code execution. This divergence should be verified with the vendor: if the injected command runs with meaningful privileges, real-world severity is materially higher than the 5.1 Medium rating suggests. |
| Exploit ScenarioDerived | An authenticated JumpServer user with asset-management permissions creates or edits a Host asset and places a malicious Jinja2 template payload (e.g. {{ ... }} or {% ... %}) in the IP/HOST address field. When the platform later performs template rendering on that address, the embedded expression is evaluated server-side and injected OS commands execute on the JumpServer host. A public proof-of-concept exploit is available, lowering the skill barrier for abuse by any low-privileged account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
OS command injection in JumpServer through 4.10.19 lets an authenticated user with permission to create or edit a Host asset store a crafted IP/HOST address containing Jinja2 template syntax, which the Template Rendering component later evaluates and can use to run arbitrary OS commands. Exploitation requires a valid low-privileged account and a passive interaction step where the poisoned address is rendered, so it is realistically reachable by insiders or attackers who already hold credentials rather than by anonymous remote users. Publicly available exploit code exists (a public gist is referenced) and the vendor has fixed the issue in v5.0.0, with the fix also slated for an upcoming v4 release.
RemediationAI
Upgrade JumpServer to 5.0.0 or later, which contains the fix per the vendor release at https://github.com/jumpserver/jumpserver/releases/tag/v5.0.0 (Vendor-released patch: 5.0.0); the commit fcf2904cdb884230e9676f50f37a44d09fa97040 and PR https://github.com/jumpserver/jumpserver/pull/17500/ are the specific changes, and the vendor states the fix will also ship in an upcoming v4 release. If upgrading immediately is not possible, backport the validation logic from apps/assets/validators.py so that asset addresses containing Jinja2 delimiters ({{ }}, {% %}, {
#}), control characters, leading/trailing whitespace, or malformed IP/hostname values are rejected at input time, noting that this only closes the patched entry point and any other template-rendered field remains a risk. As a compensating control, restrict asset create/edit privileges to trusted administrators (the vulnerability only triggers for authenticated users able to set a Host address, so limiting who can define assets removes the attacker prerequisite), and audit existing asset inventory for addresses containing template syntax. Restrict network access to the JumpServer web console to trusted management networks, accepting the operational inconvenience of additional access controls, and monitor for anomalous child processes spawned by the JumpServer application user. Note that publicly available exploit code exists (https://gist.github.com/Seikruun/b628bb6d4403d9c41a54a4b92d775583), so prioritise remediation for any deployment exposing asset management to non-administrative users.
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
The flaw is a CWE-78 OS command injection that is reached through server-side template injection: JumpServer's asset serializers accepted arbitrary strings for an asset's IP/HOST address field without validation, and that value is later passed into the Template Rendering component where Jinja2 syntax ({{ }}, {% %}, or {
#}) is interpreted. By embedding template delimiters in the address, an attacker can cause the renderer to evaluate attacker-controlled expressions, ultimately reaching shell execution on the JumpServer host under the application's privileges. The upstream fix (commit fcf2904cdb884230e9676f50f37a44d09fa97040, PR #17500) adds apps/assets/validators.py with validate_asset_address and validate_ip_or_hostname, rejecting Jinja delimiters, control characters (ord < 32 or 127), leading/trailing whitespace, malformed numeric IPv4-looking strings, and hostnames that violate label length/charset rules or contain non-IDNA-encodable characters. The affected CPE is a version-wildcard entry for JumpServer (cpe:2.3:a:n/a:jumpserver:*:*:*:*:*:*:*:*), consistent with all releases up to and including 4.10.19 being vulnerable.
Know when Jumpserver 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Network-reachable API with low complexity; PR:L because a valid asset-editing account is required; UI:R maps the vendor's passive interaction; OS command injection is assessed as high C/I/A despite the vendor's Low rating.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A security vulnerability has been detected in JumpServer up to 4.10.19. The affected element is an unknown function of the component Template Rendering. The manipulation of the argument IP/HOST leads to os command injection. Remote exploitation of the attack is possible. The exploit has been disclosed publicly and may be used. Upgrading to version 5.0.0 is sufficient to fix this issue. The identifier of the patch is fcf2904cdb884230e9676f50f37a44d09fa97040. The affected component should be upgraded. The vendor confirms: "This issue was identified quite some time ago, and we have already fixed it in the v5 branch. (...) The fix will also be included in an upcoming v4 release.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
More in Jumpserver
View allInsecure Permissions vulnerability in JumpServer GPLv3 v.3.8.0 allows a remote attacker to execute arbitrary code via by
JumpServer is an open source bastion host and an operation and maintenance security audit system. Rated critical severit
JumpServer is an open source bastion host and an operation and maintenance security audit system. Rated critical severit
JumpServer is an open source bastion host. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitabl
Jumpserver is a popular open source bastion host, and Koko is a Jumpserver component that is the Go version of coco, ref
JumpServer is an open source bastion host. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl
JumpServer is an open source bastion host. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitabl
JumpServer is an open source bastion host. Rated high severity (CVSS 7.4), this vulnerability is remotely exploitable, n
Incorrect authorization in JumpServer's /ws/ldap/ WebSocket endpoint allows any authenticated low-privileged user to inv
JumpServer is an open source bastion host and an operation and maintenance security audit system. Rated medium severity
JumpServer is an open-source Privileged Access Management (PAM) tool that provides DevOps and IT teams with on-demand an
An issue in Jumpserver before 2.6.2, before 2.5.4, before 2.4.5 allows attackers to create a connection token through an
EUVD-2026-104455
GHSA-qgr4-hq28-743m
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB