# CVE-2026-84714: 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

Status: published. Published: 2026-09-23. Updated: 2026-11-04.

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.

## Remediation

- workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat Ansible Automation Platform 2.5 for RHEL 8 (automation-controller): ≥ 0:4.6.33-1.el8ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.5 for RHEL 9 (automation-controller): ≥ 0:4.6.33-1.el9ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.6 for RHEL 9 (automation-controller): ≥ 0:4.7.17-1.el9ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.6 (ansible-automation-platform-26/controller-rhel9): ≥ 1789673739; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.7 (ansible-automation-platform-27/controller-rhel9): ≥ 1789580684; < * (unaffected, rpm). Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 7.1 (high); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N; source: CNA: redhat

- CISA KEV: No listing in collected sources

- EPSS: 0.29% as of 2026-11-04; percentile 22.02%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-184

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://access.redhat.com/errata/RHSA-2026:71113 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71114 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71177 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71179 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/security/cve/CVE-2026-84714 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2527198 (CNA: redhat; issue-tracking, x_refsource_REDHAT)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-84714; retrieved 2026-11-05; source updated 2026-11-04

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-84714; retrieved 2026-11-05; source updated Not reported

Revision: f50809256f6f1e8cc22a4be2a30d1ecb8f244496f8684ab77f68cd006bda095a

Canonical: https://y2.dev/cve/CVE-2026-84714

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.