Skip to main content

Ansible Automation Platform EUVDEUVD-2026-85605

| CVE-2026-84714 HIGH
Incomplete List of Disallowed Inputs (CWE-184)
2026-09-23 redhat GHSA-8ghh-482v-94qp
7.1
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 controller user
  2. Delivery
    Craft Jinja payload with inner brace
  3. Exploit
    Submit via module_args/credential/host-name field
  4. Execution
    Bypass sanitize_jinja regex guard
  5. Persist
    ansible-core evaluates Jinja in exec env
  6. Impact
    Run commands and read cross-credential secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
Exploitation Conditions

Exploitation requires an authenticated low-privileged account on the automation-controller (PR:L) with permission to set at least one of the vulnerable launch-time fields: ad-hoc command module_args, a Machine credential's username/become_method/become_user, or inventory host names. The payload must be a valid Jinja expression that contains an inner brace or percent (e.g. an empty dict) so that the two sanitize_jinja() regexes terminate at the first interior '}' or '%' and accept it. Secret disclosure across the credential boundary additionally requires a target credential to be co-attached to the same job so its injected environment variables can be templated. Limiting factors: the attacker must already have a controller account, and command execution occurs in the execution environment rather than on the control node; no user interaction and no non-default configuration is needed.

Impact

This is a genuine, exploitable input-validation flaw rather than a paper high-CVSS issue, but its priority is bounded by the required privilege level and the niche deployment footprint. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N, 7.1) is internally consistent with the description: a low-privileged but authenticated automation-controller user can remotely and reliably (AC:L, no user interaction) inject Jinja that ansible-core evaluates in the execution environment. The C:H rating is well justified because the flaw crosses the credential access-control boundary - an attacker can template a co-attached credential's injected environment variables to disclose secrets they cannot legitimately read. I would argue I:H is defensible rather than the vendor's I:L, since arbitrary command execution in the execution environment (bypassing the AD_HOC_COMMANDS allowlist) can modify managed systems; the vendor likely scoped I:L to the controller integrity specifically. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so exploitation status is: no public exploit identified at time of analysis. The absence of KEV/EPSS combined with the PR:L requirement (attacker must already hold a low-privileged account on the controller) points to this being an insider/post-authentication escalation and lateral-secret-disclosure risk, not a mass-exploitable internet-facing bug. Note the input Tag 'Authentication Bypass' is misleading - this is an input-validation/authorization-boundary bypass (CWE-184), not an authentication bypass.

Exploit ScenarioDerived

A low-privileged automation-controller user submits a launch-time field (e.g. ad-hoc command module_args, a Machine credential username/become_method/become_user, or an inventory host name) containing a Jinja expression with an inner brace such as an empty dict, which slips past sanitize_jinja()'s two regexes because they stop at the first interior '}' or '%'. ansible-core then evaluates the Jinja in the execution environment, letting the attacker run arbitrary commands (bypassing the administrator's AD_HOC_COMMANDS allowlist) and template a co-attached credential's injected environment variables to exfiltrate secrets they cannot otherwise read. No public POC is referenced in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% 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 but low-privileged users of Red Hat Ansible Automation Platform 2 can bypass the automation-controller's sanitize_jinja() input-validation guard and have ansible-core evaluate attacker-supplied Jinja inside the execution environment, yielding arbitrary command execution and disclosure of secrets belonging to credentials the attacker cannot normally read. The flaw is exploitable remotely with no user interaction (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N per independent assessment) and requires only a controller account able to set one of the affected launch-time fields. No public exploit code has been identified at time of analysis, and the issue is not listed in CISA KEV; priority is bounded by the required authenticated foothold and the niche deployment footprint.

RemediationAI

No vendor-released patch was identified in the supplied intelligence at time of analysis, so remediation must begin with compensating controls until Red Hat publishes fixed automation-controller packages (track https://access.redhat.com/security/cve/CVE-2026-84714 and https://bugzilla.redhat.com/show_bug.cgi?id=2527198 for the patched build). Reduce the attack surface by restricting controller RBAC so that only trusted administrators can create or modify ad-hoc commands, Machine credentials, and inventories, since the flaw is only reachable through those launch-time fields - the trade-off is reduced self-service for automation teams. Avoid attaching multiple credentials to jobs that low-privileged users can launch, which removes the co-attached credential path needed for cross-boundary secret disclosure at the cost of splitting jobs into separate templates. Harden the execution environment as a containment boundary: run jobs in isolated ephemeral containers, strip unnecessary environment variables and mounted secrets, deny outbound network egress from execution containers, and use short-lived, narrowly scoped credentials, accepting the operational overhead of tighter credential rotation. Note that relying solely on an AD_HOC_COMMANDS allowlist is insufficient here because the Jinja injection executes independently of module selection; instead, monitor and alert on Jinja delimiters ('{{', '{%') appearing in module_args, credential username/become_method/become_user values, or inventory host names as a detection backstop.

Affected VersionsENISA

Red Hat Ansible Automation Platform 2.6 for RHEL 9 patch: 0:4.7.17-1.el9ap

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

The root cause is CWE-184 (Incomplete List of Disallowed Inputs): automation-controller's sanitize_jinja() relies on two regular expressions to reject user-supplied Jinja, but those patterns stop scanning at the first interior '}' or '%' character. A syntactically valid Jinja expression containing an inner brace - such as an empty dict literal - therefore terminates the regex match early and is accepted, while the remainder is still interpreted as Jinja by ansible-core. sanitize_jinja() is the only guard applied to several launch-time fields: ad-hoc command module_args, the username, become_method and become_user attributes of Machine credentials, and inventory host names. When one of these values is templated during job execution, the attacker's expression is evaluated inside the execution environment, allowing arbitrary command execution there - and this path also defeats an administrator's AD_HOC_COMMANDS module allowlist, since the injected expression runs regardless of which module was permitted. Because Jinja templating resolves credential-injected environment variables, an attacker can also template a co-attached credential's injected variables and exfiltrate secrets across the credential access-control boundary, which is why the assessed impact is high for both confidentiality and integrity even though the original CVE record scored integrity as low.

Know when Jinja 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 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI 8.1 HIGH

Remote, low-complexity, requires a low-privileged authenticated account (PR:L); C:H for cross-credential secret disclosure and I:H for arbitrary command execution bypassing the allowlist; no availability impact.

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

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

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

DescriptionCVE.org

A flaw was found in the automation-controller input-validation guard sanitize_jinja(). The function uses two regular expressions to reject user-supplied Jinja, but the patterns stop at the first interior '}' or '%' character, so a Jinja expression containing an inner brace (for example an empty dict) is accepted while remaining valid Jinja. Because sanitize_jinja() is the sole guard on several launch-time fields - ad-hoc command module_args, Machine-credential username / become_method / become_user, and inventory host names - a low-privileged user can inject Jinja that ansible-core evaluates in the execution environment. This enables execution of arbitrary commands in the execution environment (bypassing an administrator's AD_HOC_COMMANDS module allowlist) and disclosure of secrets belonging to credentials the attacker cannot read (by templating a co-attached credential's injected environment variables), across the credential access-control boundary.

Executive ViewAI

Why It Matters

Red Hat Ansible Automation Platform 2 carries a high-severity flaw that could let routine authenticated controller users run unauthorized commands and reach sensitive credentials outside their normal permissions. The issue requires an existing low-privileged foothold and no public exploit identified at time of analysis, so near-term risk is concentrated in organizations with broad controller access or weak account governance. Leadership should prioritize access review, monitoring, and credential hygiene while awaiting a vendor fix.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting and monitoring all authenticated controller accounts, enforcing least privilege and MFA/SSO, disabling unused launch-time field permissions where feasible, segmenting controller network access, reviewing and rotating potentially exposed credentials, and enhancing logging for anomalous job launches or Jinja evaluation activity.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
enterprise Red Hat automation platform, common but not ubiquitous deployment
Data Quality
4 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Vendor StatusVendor

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