CVE-2026-84720 Overview
CVE-2026-84720 affects the Red Hat Ansible Automation Platform automation-controller. The WorkflowJobNode.ancestor_artifacts database column stores raw merged set_stats artifacts propagated between workflow nodes. The column is not wrapped in prevent_search(), so the REST filter backend accepts it for arbitrary field lookups even though the API serializer omits it. Because artifacts persist before Ansible applies no_log masking, an authenticated user can query the endpoint and use result counts as a boolean oracle. This oracle recovers, character by character, secret values that playbook authors explicitly marked no_log, potentially across organizations. The flaw is tracked under [CWE-639: Authorization Bypass Through User-Controlled Key].
Critical Impact
Authenticated users with minimal or no roles can extract secrets marked no_log from workflow jobs across organizational boundaries using regex-based filter lookups.
Affected Products
- Red Hat Ansible Automation Platform automation-controller
- Red Hat Ansible Automation Platform 2.4
- Red Hat Ansible Automation Platform 2.5
Discovery Timeline
- 2026-09-23 - CVE-2026-84720 published to NVD
- 2026-09-24 - Last updated in NVD database
Technical Details for CVE-2026-84720
Vulnerability Analysis
Ansible Automation Platform workflows propagate artifacts between nodes using the set_stats module. The automation-controller stores merged artifacts in the WorkflowJobNode.ancestor_artifacts column for downstream nodes to consume. Playbook authors can flag sensitive values with the no_log directive to prevent masking in output.
The controller applies no_log masking after values are already persisted to the database. Attackers can query the raw stored values before masking occurs. The REST filter backend exposes the ancestor_artifacts column for arbitrary field lookups because developers did not wrap it with prevent_search(). The API serializer omits the column from output, which created a false assumption that the field was inaccessible.
Root Cause
The root cause is missing filter protection on a database column containing pre-masking artifact data. Developers relied on serializer-level omission to protect the field, but Django REST filter lookups operate independently of serializer output. The no_log masking runs after persistence, so raw secrets remain queryable through filter parameters.
Attack Vector
An attacker authenticates to the automation-controller REST API. Users with read access to any workflow can directly issue filter queries against ancestor_artifacts. Users with no roles can reach the same query surface through a regular-expression lookup that bypasses the JSON cross-relation filter guard via the world-readable credential-types endpoint.
The attacker issues filter queries such as regex or startswith lookups against candidate characters. The response count reveals whether the guessed character matches. Repeated queries reconstruct the secret character by character. Because the vulnerability crosses organization boundaries, tenants can extract secrets from workflows they do not own. See the Red Hat CVE Report CVE-2026-84720 for further technical detail.
Detection Methods for CVE-2026-84720
Indicators of Compromise
- High volumes of REST API requests to workflow node endpoints containing ancestor_artifacts in filter query parameters.
- Repeated queries from a single authenticated session using __regex, __iregex, __startswith, or __contains lookups against workflow-related resources.
- Access patterns to the credential-types endpoint immediately followed by workflow filter queries from low-privilege or role-less accounts.
Detection Strategies
- Inspect automation-controller access logs for filter parameters referencing ancestor_artifacts and correlate with the authenticating user's role assignments.
- Alert on authenticated sessions issuing hundreds of filter queries against workflow endpoints within short time windows, which is consistent with character-by-character oracle extraction.
- Review audit trails for cross-organization access patterns where a user queries workflow data outside their assigned organization scope.
Monitoring Recommendations
- Forward automation-controller nginx and application logs to a centralized SIEM for query pattern analysis and long-term retention.
- Baseline normal filter query rates per user role and generate alerts when deviations exceed defined thresholds.
- Monitor authentication events for accounts with no assigned roles that generate significant REST API traffic to workflow resources.
How to Mitigate CVE-2026-84720
Immediate Actions Required
- Apply the vendor patches referenced in RHSA-2026:71113, RHSA-2026:71114, RHSA-2026:71177, and RHSA-2026:71179.
- Rotate any secrets that may have been passed through workflow set_stats calls, including credentials, tokens, and API keys used in affected playbooks.
- Audit user role assignments in the automation-controller and remove unnecessary accounts, particularly role-less authenticated users.
Patch Information
Red Hat has released fixed builds of the automation-controller through the advisories listed above. The fix wraps the ancestor_artifacts column with prevent_search() so the REST filter backend rejects lookups against the field. Administrators should update automation-controller to the versions specified in the applicable Red Hat Security Advisory for their platform release and restart controller services after upgrade.
Workarounds
- Restrict authenticated access to the automation-controller API to trusted networks and user populations until patches are applied.
- Avoid passing sensitive values through set_stats in workflows; use Ansible Vault or credential injection mechanisms that keep secrets outside artifact storage.
- Review and reduce cross-organization visibility settings so low-privilege users cannot reach shared workflow resources.
# Example: verify installed automation-controller version before/after patching
rpm -q automation-controller
dnf update automation-controller
systemctl restart automation-controller
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

