Skip to main content

JumpServer EUVDEUVD-2026-98923

| CVE-2026-104126 MEDIUM
Code Injection (CWE-94)
2026-10-13 GitHub_M
6.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as user with automation-task permission
  2. Delivery
    Embed Ansible lookup expression in username/automation field
  3. Exploit
    Automation rendering evaluates template expression
  4. Execution
    Limited command execution as automation process
  5. Impact
    Disclose 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

jumpserver < 4.10.17

Affected Packages

euvd jumpserver fix: 4.10.17

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

Vendor (GitHub_M) PRIMARY 6.0 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L
vuln.today AI 6.0 MEDIUM

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).

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
Low

Lifecycle Timeline

1
Patch available
Oct 13, 2026 - 18:19 EUVD

DescriptionCVE.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

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Medium
popular open-source bastion host, common in enterprise but not everywhere
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Code Injection CRITICAL

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.

CVE-2023-48193 CRITICAL POC
9.8 Nov 28

Insecure Permissions vulnerability in JumpServer GPLv3 v.3.8.0 allows a remote attacker to execute arbitrary code via by

CVE-2024-29202 CRITICAL POC
9.9 Mar 29

JumpServer is an open source bastion host and an operation and maintenance security audit system. Rated critical severit

CVE-2024-29201 CRITICAL POC
9.9 Mar 29

JumpServer is an open source bastion host and an operation and maintenance security audit system. Rated critical severit

CVE-2023-43651 CRITICAL POC
9.9 Sep 27

JumpServer is an open source bastion host. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitabl

CVE-2023-28110 CRITICAL POC
9.9 Mar 16

Jumpserver is a popular open source bastion host, and Koko is a Jumpserver component that is the Go version of coco, ref

CVE-2023-42818 CRITICAL POC
9.8 Sep 27

JumpServer is an open source bastion host. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2023-43652 CRITICAL POC
9.1 Sep 27

JumpServer is an open source bastion host. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitabl

CVE-2023-43650 HIGH POC
7.4 Sep 27

JumpServer is an open source bastion host. Rated high severity (CVSS 7.4), this vulnerability is remotely exploitable, n

CVE-2025-58044 MEDIUM POC
6.1 Dec 01

JumpServer is an open source bastion host and an operation and maintenance security audit system. Prior to v3.10.19 and

CVE-2024-24763 MEDIUM POC
6.1 Feb 20

JumpServer is an open source bastion host and an operation and maintenance security audit system. Rated medium severity

CVE-2024-40629 CRITICAL
9.8 Jul 18

JumpServer is an open-source Privileged Access Management (PAM) tool that provides DevOps and IT teams with on-demand an

CVE-2021-3169 CRITICAL
9.8 Jul 23

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

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