Description
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.
Published: 2026-09-23
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in the sanitize_jinja() input‑validation guard in the automation‑controller component. Two regular‑expression patterns prematurely terminate at the first interior '}' or '%' closing character, allowing Jinja expressions that contain nested braces to bypass validation. When a specially crafted expression is injected into launch‑time fields such as ad‑hoc command module_args, machine‑credential username, become_method, become_user, or inventory host names, the automation‑controller forwards it to ansible‑core, which evaluates it within the execution environment. This enables a low‑privileged user to execute arbitrary commands in that environment and to reveal secrets stored in co‑attached credentials, thereby crossing the credential access‑control boundary.

Affected Systems

Red Hat Ansible Automation Platform 2 is affected, specifically the automation‑controller service when deployed using the default configuration. All releases of this product that include the affected sanitize_jinja() guard are vulnerable. No specific patch version is named, but the flaw is inherent to the platform as a whole.

Risk and Exploitability

The CVSS score of 7.1 places the vulnerability in a high‑to‑moderate severity range. The EPSS score is not available, indicating limited publicly known exploitation. The flaw is not listed in CISA's KEV catalog. Attackers can exploit the weakness by using local or SaaS‑hosted deployments where a low‑privileged user can create or run ad‑hoc tasks or supply machine‑credential values. Such a user only needs rights to launch an ad‑hoc task, making exploitation realistic in environments that grant such permissions broadly.

Generated by OpenCVE AI on September 23, 2026 at 21:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Check the Red Hat Customer Portal for a security advisory and apply any available update that addresses the input‑validation guard in automate‑controller.
  • Restrict low‑privileged role permissions to prevent creation or execution of ad‑hoc tasks and modification of machine‑credential fields that are processed by the controller.
  • Enforce stricter credential access controls to prevent exposed secrets via injected environment variables; consider limiting co‑attached credentials.

Generated by OpenCVE AI on September 23, 2026 at 21:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 23 Sep 2026 19:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Automation-controller: automation-controller: incomplete sanitize_jinja() regex allows jinja template injection into ad-hoc module_args, machine-credential fields, and host names, reaching ansible-core templating in the execution environment
First Time appeared Redhat
Redhat ansible Automation Platform
Weaknesses CWE-184
CPEs cpe:/a:redhat:ansible_automation_platform:2
Vendors & Products Redhat
Redhat ansible Automation Platform
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'}


Subscriptions

Redhat Ansible Automation Platform
cve-icon MITRE

Status: PUBLISHED

Assigner: redhat

Published:

Updated: 2026-09-23T21:47:38.925Z

Reserved: 2026-09-02T00:55:17.044Z

Link: CVE-2026-84714

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-23T20:17:18.083

Modified: 2026-09-23T20:17:18.083

Link: CVE-2026-84714

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-23T21:15:09Z

Weaknesses
  • CWE-184

    Incomplete List of Disallowed Inputs