Skip to main content

Ansible Automation Platform CVE-2026-71463

| EUVDEUVD-2026-85540 LOW
Error Message Information Leak (CWE-209)
2026-09-23 redhat GHSA-wm9g-p29j-v3wh
2.7
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

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

  1. Access
    Obtain notification-template edit privilege
  2. Delivery
    Craft Jinja with dynamic subscript + job.id>100 gate
  3. Exploit
    Bypass AST whitelist and test-render
  4. Execution
    Point notification to attacker webhook
  5. Persist
    Job triggers gated branch exception
  6. Impact
    Traceback POSTed to webhook leaks paths/version

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Error message sanitization
MITRE ATT&CK

1 technique across 1 tactic: Discovery

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 user with sufficient privilege (org/system admin per PR:H) to create or edit a notification template in Red Hat Ansible Automation Platform 2 automation-controller, plus a webhook-type notification whose target URL the attacker controls. The malicious template must use a dynamic subscript (e.g. job['job'+'_env']) and a conditional gate such as {% if job.id > 100 %} so the branch escapes the static-Getattr AST whitelist and the small-job.id stub test-render. Exploitation is limited by the high privilege prerequisite and by the need for a real job notification whose gated branch raises an exception to trigger the traceback leak; disclosure is confined to install paths, Python version, and source line numbers (no code execution or data tampering).

Impact

Low real-world priority despite a genuine, well-described security flaw. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N, base 2.7) correctly reflects a high-privilege, confidentiality-only issue: PR:H means the attacker must already hold sufficient privilege to create or edit a notification template (in AWX/automation-controller this is an organization or system administrator function), and impact is limited to C:L information disclosure with no integrity or availability effect. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so exploitation status is 'no public exploit identified at time of analysis.' The signals are consistent rather than conflicting - a low CVSS aligns with high required privilege and low information-leak impact. The disclosed data (install paths, Python version, source line numbers) is reconnaissance-grade rather than directly damaging, so this is a defense-in-depth/hardening item, not an urgent patch. Note the CVSS-implied privilege bar (PR:H) is the key limiter and matches the sandbox-bypass-by-template-author narrative in the description.

Exploit ScenarioDerived

A user with permission to create notification templates in automation-controller crafts a Jinja template that uses a dynamic subscript (e.g. job['job'+'_env']) and an {% if job.id > 100 %} conditional so the malicious branch evades both the static-Getattr AST whitelist and the stub test-render (which uses a small job.id). When a real job notification fires and the gated branch raises an exception, the full Python traceback - including install paths, Python version, and source line numbers - is written into the notification body and POSTed to an attacker-controlled webhook. No public exploit code was identified for this issue.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 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

Information disclosure in Red Hat Ansible Automation Platform 2 allows an authenticated administrator (PR:H per the CVSS vector) to leak controller-side implementation details, including install paths, Python version, and source line numbers, into notification payloads delivered to an attacker-controlled webhook URL. A crafted Jinja notification template using a dynamic subscript such as job['job'+'_env'] slips past the static-Getattr AST whitelist, while a conditional gate like {% if job.id > 100 %} prevents the branch from firing during the small-job.id stub test-render, so the payload executes only against a real job whose exception produces a full traceback in the notification body. Impact is confined to low confidentiality loss (C:L) with no integrity or availability effect, and no public exploit has been identified at time of analysis.

RemediationAI

No vendor-released patch has been identified at time of analysis, so remediation currently depends on compensating controls; monitor https://access.redhat.com/security/cve/CVE-2026-71463 and Bugzilla 2512372 for the eventual erratum and apply it as soon as it ships. Because exploitation requires an authenticated user with PR:H privileges who can create or edit notification templates and configure a webhook notification, the highest-value control is tightening that privilege: audit who holds organization or system administrator rights in automation-controller and reduce the set of accounts able to edit notification templates or point webhooks at arbitrary URLs, accepting the operational trade-off that day-to-day automation teams lose self-service template changes. Restrict outbound egress from the controller to an allowlist of approved webhook destinations, which blocks exfiltration to attacker-controlled endpoints at the cost of breaking legitimate integrations whose URLs have not yet been onboarded. Where webhook notifications are not required, disable that notification type entirely, or route notifications through a trusted relay that strips traceback content, with the trade-off of reduced alerting flexibility or additional infrastructure to maintain. Contents of existing notification templates should be reviewed for the combination of dynamic subscripts (for example job['job'+'_env']) and conditional gates (for example {% if job.id > 100 %}) that characterize this bypass, and controller logs and outbound notification bodies should be monitored for traceback artefacts such as File "...", line numbers, or Python version strings appearing in external payloads.

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 flaw sits in the notification-template subsystem of the Red Hat Ansible Automation Platform 2 automation-controller, which renders user-supplied Jinja templates and validates them with an AST whitelist intended to permit only safe constructs. That whitelist inspects static Getattr nodes, so an expression that builds an attribute name at runtime, such as job['job'+'_env'], is never evaluated statically and passes validation. A second control, the test-render, evaluates the template against a stub object with a small job.id, so a guard such as {% if job.id > 100 %} evaluates false during validation and the dangerous branch is silently skipped. At runtime against a genuine job the gate opens, the branch executes, and any raised exception is captured with its full traceback and embedded in the notification body that the controller POSTs to the configured webhook endpoint. This is CWE-209 (generation of error message containing sensitive information): the root cause is unsafe propagation of verbose error output into an outbound message rather than a memory-safety or injection defect. Affected identifiers are captured by CPE cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:* (version-wildcarded, indicating no bounded range was published), with the primary reference at Red Hat's CVE page and Bugzilla 2512372.

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 2.7 LOW
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 2.7 LOW

Notification-template configuration requires admin-level privilege (PR:H); leak is only traceback metadata (C:L), with no integrity or availability impact and no scope change.

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

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

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

DescriptionCVE.org

Notification template Jinja AST whitelist only inspects static Getattr nodes. Dynamic subscripts (job['job'+'_env']) and {% if job.id > 100 %} conditional gating bypass both the AST check and the test-render (stub has small job.id). At runtime, the gated branch executes and exceptions write full tracebacks into notification body, which is POSTed to attacker-controlled webhook URL. Leaks install paths, Python version, source line numbers.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
enterprise Ansible automation platform, common but not ubiquitous
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 LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*

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