Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as user with automation-task permission
-
DeliveryEmbed Ansible lookup expression in username/automation field
-
ExploitAutomation rendering evaluates template expression
-
ExecutionLimited command execution as automation process
-
ImpactDisclose files, environment, and password secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access 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 user who already holds permission to create or execute the affected automation tasks (operator-level privilege, hence PR:H). The attacker must supply content - such as an account or connection-token username/input field - containing an Ansible lookup template expression that is subsequently processed by the Ansible-based automation rendering engine. Exploitation is LIMITED to the privileges of the automation process and cannot reach unrelated JumpServer assets; it does NOT grant unauthenticated access. Affected deployments are any JumpServer prior to 4.10.17-lts; the fix adds forbidden-character validation (SECURITY_ACCOUNT_USERNAME_FORBIDDEN_CHARS) on username fields, so environments on or after 4.10.17-lts, or those not exposing automation-task permissions to untrusted users, are not exploitable. |
| Impact | This is a moderate, authenticated-only code/template injection (CWE-94) in JumpServer's Ansible-based automation rendering, scored CVSS 6.0. The provided vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L) is internally consistent with the description: network-reachable via the web interface, low complexity, but requiring PR:H - a user already holding permission to create or execute automation tasks, i.e. a trusted/privileged operator, not an anonymous attacker. The description explicitly rules out unauthenticated access and access to unrelated assets, so scope is Unchanged and the blast radius is the automation process context. Confidentiality is High (file, env, and password lookups can disclose secrets) while integrity and availability are only Low (limited command execution). No EPSS score, KEV listing, or POC was provided in the input: by the precision rules this is 'no public exploit identified at time of analysis.' The source patch cross-references the risk well - PR #16886 introduces validate_account_username/forbidden-character filtering on account and connection-token username fields, indicating the practical injection channel is attacker-controlled username/input content that is later rendered as an Ansible/Jinja template expression. Net assessment: a real but privilege-gated insider/abuse-of-permission issue, not a mass-exploitable internet-facing RCE; prioritize because JumpServer is a bastion host handling credentials (secret-disclosure impact is high), but realistic exploitation depends on already granting automation permissions. The 'RCE' tag overstates impact - the description and CVSS cap this at limited command execution, not full reliable RCE. |
| Exploit ScenarioDerived | A JumpServer user who has been granted permission to create or execute automation tasks crafts an account username or automation field containing an Ansible lookup template expression (e.g. file, pipe, env, or password lookup). When the Ansible-based automation renders the content, the expression is evaluated within the automation execution context, disclosing local files or environment secrets and permitting limited command execution as the automation process. No public exploit code was identified in the provided data, though the fixing commit and PR diff reveal the vulnerable username/input rendering path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Authenticated JumpServer users who hold permission to create or execute Ansible-based automation tasks can inject attacker-controlled template expressions that the automation rendering engine evaluates, invoking sensitive Ansible lookups (file, pipe, env, password) that disclose files or environment values and may permit limited command execution under the privileges of the automation process. All JumpServer deployments prior to 4.10.17-lts are affected, but exploitation requires operator-level privilege (CVSS vector PR:H) and remains confined to the automation process - it grants neither unauthenticated access nor reach into unrelated JumpServer assets. No public exploit identified at time of analysis, and the issue is fixed in version 4.10.17-lts.
RemediationAI
Vendor-released patch: upgrade to JumpServer 4.10.17-lts (release tag v4.10.17), which contains commit cc57ba0de5f6015746fae11cfc62402b11618e59 and PR #16886; consult the advisory at https://github.com/jumpserver/jumpserver/security/advisories/GHSA-gr5x-5c4h-867g for the official guidance. Because the flaw requires the operator-level ability to create or execute Ansible automation tasks, the most effective interim control is to review and tighten RBAC so that automation-task create/execute permissions are granted only to fully trusted administrators - trade-off: legitimate automation workflows for less-trusted operators must be paused or mediated by an admin. Additionally, run the Ansible automation process under a dedicated low-privilege service account with no access to sensitive files or secrets, and audit account/connection-token username inputs for Jinja-style expressions such as {{ lookup('file', ...) }} or {{ lookup('pipe', ...) }}; note that the patched behavior depends on the new SECURITY_ACCOUNT_USERNAME_FORBIDDEN_CHARS setting, so applying configuration alone without the 4.10.17-lts code does not remediate the issue.
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 root cause is CWE-94 (Improper Control of Generation of Code / code injection) in JumpServer's Ansible-based automation rendering layer. JumpServer passes user-supplied account and connection-token username fields into Ansible execution where templating is evaluated, so an operator who can create or run automation tasks can embed Ansible lookup plugins in that content and have them resolved server-side within the Ansible process context. The Ansible file, pipe, env, and password lookups are the specific primitives that turn this into information disclosure and limited command execution. The upstream fix (PR #16886, commit cc57ba0de5f6015746fae11cfc62402b11618e59) introduces a validate_account_username() helper driven by a new SECURITY_ACCOUNT_USERNAME_FORBIDDEN_CHARS setting and wires it into the account serializers, the virtual-account model's get_special_account path, and the connection-token API so that manual account input is validated before ACL/token creation. The CPE cpe:2.3:a:jumpserver:jumpserver:*:*:*:*:*:*:*:* confirms every release below the fixed LTS build is in scope.
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
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L
Reachable over the network via the web UI (AV:N/AC:L) but gated behind automation-task permission (PR:H); high secret disclosure (C:H) with only limited command execution (I:L/A:L) and no scope change (S:U).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
JumpServer is an open source bastion host and an operation and maintenance security audit system. Prior to 4.10.17-lts, JumpServer's Ansible-based automation rendering can evaluate attacker-controlled template expressions from users who have permission to create or execute affected automation tasks. Crafted content can invoke sensitive Ansible lookup behavior, including file, pipe, env, and password lookups, within the Ansible execution context, which can disclose files or environment values and may permit limited command execution under the privileges of the automation process. The issue does not provide unauthenticated access or direct access to unrelated JumpServer assets. This issue is fixed in version 4.10.17-lts.
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.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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
JumpServer is an open source bastion host and an operation and maintenance security audit system. Prior to v3.10.19 and
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-98923
NVD
CVE.org
EPSS
GitHub
Exploit-DB