Skip to main content

Ansible Automation Platform EUVDEUVD-2026-85560

| CVE-2026-84502 CRITICAL
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-09-23 redhat GHSA-vpmq-jxf9-c55v
9.9
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privileged org project manager
  2. Delivery
    Set Project scm_url to '--upload-pack=<cmd>:x'
  3. Exploit
    Trigger project update running git ls-remote
  4. Execution
    git executes injected command via shell on task pod
  5. Persist
    Read output via project update stdout endpoint
  6. Impact
    Pivot cross-tenant and move laterally in-cluster

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
Exploitation Conditions

Requires an authenticated user who holds permission to create or modify a Project within at least one organization in Red Hat Ansible Automation Platform 2 automation-controller; no admin or cross-org rights are needed. The attacker must set the Project scm_url to a value beginning with a dash (e.g. '--upload-pack=<command>:x') and trigger a project update using the git SCM module, which runs git ls-remote with the URL as a positional argument and without a -- separator. Limiting factors: exploitation needs the git SCM project type and the low-privilege project-management role; it affects default configurations of the git-based project update path, so no non-default setting is required, but valid platform credentials are.

Impact

This is a genuine high-priority flaw, not a CVSS-inflated one. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H = 9.9) is well-supported by the description: an argument-injection bug (CWE-88) where an attacker-controlled Project scm_url beginning with a dash (e.g. '--upload-pack=<command>:x') is passed verbatim to git ls-remote without a -- separator, causing git to interpret it as an option and execute a shell command on the control-plane task pod. Only low privileges are required (a user able to create/modify a project in a single organization), yet the impact crosses tenant boundaries (S:C) and enables in-cluster lateral movement, which fully justifies the scope change and the C:H/I:H/A:H triad. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so there is no public exploit identified at time of analysis and no confirmed active exploitation - the risk is driven by low exploitation complexity and a mechanically simple, well-understood argument-injection primitive rather than by observed in-the-wild activity. The one signal that conflicts with the true nature of the bug is the 'Information Disclosure' tag, which understates a command-execution/RCE-class issue. Overall: treat as a high-priority patch for any multi-tenant AAP deployment because a single low-privileged org user can pivot to full control-plane and cross-tenant compromise.

Exploit ScenarioDerived

A low-privileged user with project-management rights in one organization creates or edits a Project and sets the SCM URL to a crafted value like '--upload-pack=touch /tmp/pwned;:x'. When automation-controller runs the project update, git ls-remote interprets the string as the --upload-pack option and executes the attacker's shell command on the shared control-plane task pod, with command output reflected back through the project update stdout endpoint. No public exploit code is identified at time of analysis, but the technique is trivial and reliable given the missing -- separator.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 23, 2026

Authenticated users who hold permission to create or modify a project within a single organization can execute arbitrary commands on the Ansible Automation Platform 2 automation-controller task pod by setting the Project scm_url to a value beginning with a dash, for example '--upload-pack=<command>:x'. The automation-controller's git SCM module passes that URL verbatim as a positional argument to 'git ls-remote' without a '--' end-of-options separator, so git treats it as the --upload-pack option and executes the attacker's command via a shell, with output reflected through the project update stdout endpoint, enabling cross-tenant compromise and in-cluster lateral movement (CVSS 3.1 9.9, scope changed). Exploitation needs valid platform credentials and the git project type but no admin or cross-organization rights, and no public exploit code has been identified at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis, so monitor https://access.redhat.com/security/cve/CVE-2026-84502 and https://bugzilla.redhat.com/show_bug.cgi?id=2527096 for the patched automation-controller build and apply it as soon as it is published. Until then, the closest thing to a root-cause fix is to enforce input validation that rejects or strips any scm_url value starting with a dash before it reaches the git SCM module (a custom pre-save validation hook or a filtering proxy in front of the controller API), accepting that this is custom code requiring maintenance across upgrades. The most practical preventive control is to restrict project creation and modification rights to users who are already trusted with control-plane access, since the flaw needs only the project-management role; this breaks delegated self-service workflows but removes the entire unauthenticated-by-privilege attack surface. Complement that with strict egress network policies limiting control-plane task pods to the SCM hosts actually in use (which can break legitimate repository access if too narrow), monitoring of project update stdout and task pod process activity for unexpected command execution (detective only), and an audit of existing projects for scm_url values that begin with '-'. None of these compensating controls repairs the underlying improper argument handling, so prompt patching remains the priority.

Affected VersionsENISA

Red Hat Ansible Automation Platform 2.4 for RHEL 9 patch: 0:4.5.36-1.el9ap
Red Hat Ansible Automation Platform 2.4 for RHEL 8 patch: 0:4.5.36-1.el8ap

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is CWE-88, improper neutralization of argument delimiters in a command ('argument injection'), inside the automation-controller component of Red Hat Ansible Automation Platform 2 (tracked by CPE cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2). The Project scm_url field is stored without validation and forwarded verbatim to the git SCM module, which invokes git ls-remote with the URL as a positional argument and no '--' separator. Because the value is not treated as an opaque operand, git parses a leading dash as an option such as --upload-pack, whose value is then executed through a shell; the same success path is what makes the CVSS scope Changed (S:C), since a low-privilege actor in one organization crosses a trust boundary into the shared control-plane task pod and can reach other tenants' data and in-cluster resources. The vulnerability is reachable in default configurations of the git-based project update path, so no non-default platform setting has to be enabled, though a valid authenticated account with project-management rights is required.

Know when Red Hat Ansible Automation Platform 2 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 (redhat) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

Network-reachable API with only low org-level project privileges (PR:L), trivial argument injection (AC:L), and command execution on a shared pod causing cross-tenant compromise justify S:C and full C/I/A impact.

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

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

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

DescriptionCVE.org

A flaw was found in Red Hat Ansible Automation Platform's automation- controller. The Project scm_url field is not validated against values that begin with a dash and is stored and passed verbatim to the git SCM module. Because the module runs git ls-remote with the URL as a positional argument and without a "--" separator, a git project URL such as "--upload-pack=<command>:x" is interpreted by git as the --upload-pack option and executed via a shell. A user with permission to create or modify a project in a single organization can thereby execute arbitrary commands on the control-plane task pod, with output reflected through the project update stdout endpoint, leading to cross-tenant compromise and in-cluster lateral movement

Executive ViewAI

Why It Matters

A critical command-injection flaw in Ansible Automation Platform 2's automation-controller allows any authenticated user with permission to create or modify a project to run arbitrary commands inside the platform's task pods, potentially crossing organization and tenant boundaries and enabling lateral movement within the cluster. Because no vendor patch is currently available and no public exploit code has been identified at time of analysis, the exposure is driven by how widely project-creation rights are delegated across your automation teams. Leadership should care because the automation controller typically brokers high-privilege credentials into production systems, making it a high-value pivot point for insider misuse or a compromised developer account.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict project create/modify permissions to a minimal trusted set of users; disable or suspend creation of git-type projects until the fix is available; validate or allowlist scm_url values and reject any beginning with a dash; restrict task pod egress via network policy and least-privilege service accounts; monitor project update stdout and audit logs for suspicious git arguments and command output; rotate credentials reachable from task pods.

Threat Intelligence Overview

EPSS Score
0.6%
Top 53% exploitable
Prevalence
Medium
widely deployed enterprise automation platform, but not in every environment
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor 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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

51
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-84719 CRITICAL
9.9 Sep 23

Missing authorization checks in the Red Hat Ansible Automation Platform 2 automation-controller allow an authenticated o

CVE-2026-84474 CRITICAL
9.9 Sep 23

Privilege escalation and remote code execution on managed hosts is possible in Red Hat Ansible Automation Platform 2 bec

CVE-2026-11807 CRITICAL
9.6 Jun 23

Credential disclosure in Red Hat Ansible Automation Platform 2.5 and 2.6 allows any authenticated user to retrieve plain

CVE-2026-12564 CRITICAL
9.6 Aug 18

Server-side request forgery in the Red Hat Ansible Automation Platform 2 Controller's HashiCorp Vault credential plugin

CVE-2026-75884 CRITICAL
9.1 Sep 23

Privilege escalation in Red Hat Ansible Automation Platform 2 (built on the AWX upstream project) lets an authenticated

CVE-2026-12701 CRITICAL
9.0 Jul 20

Arbitrary file write in pulpcore's FilesystemExport feature allows an authenticated administrator to escape the intended

CVE-2026-89091 HIGH
8.8 Oct 08

Symlink-following file overwrite on the Ansible control node is possible in ansible-core when a user runs `ansible-galax

CVE-2026-84683 HIGH
8.7 Sep 23

Stored cross-site scripting in the automation-controller component of Red Hat Ansible Automation Platform 2 lets an auth

CVE-2026-84691 HIGH
8.7 Sep 23

An authenticated automation-controller administrator in Red Hat Ansible Automation Platform 2 can turn the administrator

CVE-2026-92982 HIGH
8.5 Oct 15

Jinja2 template injection in Ansible Operator Plugins (CWE-1336) lets an authenticated Kubernetes user who can create or

CVE-2026-76648 HIGH
8.5 Sep 23

Missing object-level authorization in the JobTemplate copy endpoint (CopyAPIView) of AWX and Red Hat Ansible Automation

CVE-2026-12382 HIGH
8.2 Jul 15

mTLS authentication bypass in the Red Hat Ansible Automation Platform (AAP) Gateway Envoy proxy allows unauthenticated r

Vendor StatusVendor

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