Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege AWX user
-
DeliveryEnumerate or guess cross-organization job IDs
-
ExploitCraft WebSocket subscription to unmapped event group (inventory_update_events / project_update_events / system_job_events)
-
ExecutionRBAC check skipped due to missing consumer_access() mapping
-
PersistReceive unauthorized real-time job stdout stream
-
ImpactExfiltrate sensitive data from job output
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated user account on the AWX or Red Hat Ansible Automation Platform 2 instance (confirmed by PR:L in the CVSS vector). The attacker must be able to identify or enumerate valid job IDs for inventory update, project update, or system jobs belonging to organizations they are not authorized to access. No special non-default configuration is required - the authorization gap is present in the default websocket consumer implementation. Active or recent jobs of the three affected event types must exist to produce streamable output. Exploitation is limited by: (1) the requirement for a valid authenticated session, (2) the need to know or discover target job IDs across organizational boundaries, and (3) no integrity or availability impact - the attacker is read-only. Environments with a single organization or where all users are fully trusted present minimal incremental risk from this flaw. |
| Impact | The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N yields a score of 6.5, which accurately reflects the threat profile: network-reachable, low complexity, but gated behind authenticated access (PR:L). The high confidentiality impact (C:H) is well-justified - AWX job stdout routinely contains automation playbook output that may include credentials, API tokens, hostnames, and internal infrastructure details. In multi-tenant AAP deployments where multiple organizations share a platform, this represents a meaningful cross-tenant data boundary violation. No EPSS score is provided in the available data, so probabilistic exploitation likelihood cannot be quantified numerically. No KEV listing exists, and no public exploit code is identified, suggesting this is not currently being actively leveraged at scale. The primary risk multiplier is organizational: enterprises running AAP2 with multiple teams or tenants face the highest exposure, as low-privilege users from one team can monitor operational activity from another. The PR:L gate meaningfully limits the attack surface to authenticated insiders or compromised accounts. |
| Exploit ScenarioDerived | An authenticated low-privilege user on a shared AWX or AAP2 instance, such as a developer in one business unit, enumerates or guesses job IDs belonging to a different organization running inventory sync or project update tasks. The user opens a WebSocket connection subscribing to inventory_update_events for the target job ID; because this event group has no entry in consumer_access(), the RBAC check is bypassed and the full real-time stdout stream - potentially containing SSH keys, API tokens, or internal hostnames embedded in playbook output - is delivered to the unauthorized user. No public exploit code is identified at time of analysis, but the attack requires only standard WebSocket tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 22, 2026
Incomplete RBAC authorization in AWX's websocket event consumer exposes real-time job stdout to any authenticated user, regardless of organizational access controls. Three event group types - inventory_update_events, project_update_events, and system_job_events - are absent from the consumer_access() authorization mapping, causing authorization checks to be silently skipped when users subscribe to these channels for arbitrary object IDs. This is confirmed as an incomplete remediation of CVE-2020-10698, affecting Red Hat Ansible Automation Platform 2. No public exploit or CISA KEV listing is identified at time of analysis.
RemediationAI
Apply the vendor-issued patch from Red Hat for Ansible Automation Platform 2 as detailed in the security advisory at https://access.redhat.com/security/cve/CVE-2026-16544. No specific fixed version number is confirmed from the available reference data - consult the advisory directly for the exact patched release. As a compensating control pending patch application, restrict WebSocket endpoint access at the network or reverse-proxy layer to reduce exposure to only explicitly authorized users or networks; note this degrades real-time UI functionality for all users. Additionally, audit WebSocket event subscription logs for unexpected cross-organization subscriptions to inventory_update_events, project_update_events, or system_job_events channels, which would indicate prior exploitation. Organizations should review whether AWX job stdout contains credentials or sensitive data and evaluate whether secret redaction in playbook output is configured, as this limits the value of any exfiltrated data.
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
AWX, the upstream open-source project underlying Red Hat Ansible Automation Platform 2 (CPE: cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2), uses WebSocket connections to stream real-time job output to users via an event consumer architecture. The consumer_access() function implements RBAC by mapping event group names to authorization logic. CWE-862 (Missing Authorization) is the root cause: the mapping uses an implicit allowlist that covers only job_events, workflow_events, and ad_hoc_command_events. The three unmapped groups - inventory_update_events, project_update_events, and system_job_events - fall through without any authorization check, allowing unrestricted subscription by any authenticated session. This enumeration-gap pattern in authorization logic is a recurring failure mode in event-driven systems where new event types are added without updating security enforcement code.
Know when Red Hat Ansible Automation Platform 2 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
WebSocket subscription is network-reachable with low complexity; PR:L reflects mandatory authentication; C:H for job stdout exfiltration; no integrity or availability impact.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in AWX. The websocket event consumer performs RBAC authorization checks only for event groups that are mapped in the consumer_access() function (job_events, workflow_events, ad_hoc_command_events). Three event groups - inventory_update_events, project_update_events, and system_job_events - are not mapped, causing the authorization check to be skipped. Any authenticated user can subscribe to these unmapped websocket event groups for any object ID and receive real-time stdout output from jobs belonging to organizations they have no access to. This is an incomplete remediation of CVE-2020-10698.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
Missing authorization checks in the Red Hat Ansible Automation Platform 2 automation-controller allow an authenticated o
Authenticated users who hold permission to create or modify a project within a single organization can execute arbitrary
Privilege escalation and remote code execution on managed hosts is possible in Red Hat Ansible Automation Platform 2 bec
Credential disclosure in Red Hat Ansible Automation Platform 2.5 and 2.6 allows any authenticated user to retrieve plain
Server-side request forgery in the Red Hat Ansible Automation Platform 2 Controller's HashiCorp Vault credential plugin
Privilege escalation in Red Hat Ansible Automation Platform 2 (built on the AWX upstream project) lets an authenticated
Arbitrary file write in pulpcore's FilesystemExport feature allows an authenticated administrator to escape the intended
Symlink-following file overwrite on the Ansible control node is possible in ansible-core when a user runs `ansible-galax
Stored cross-site scripting in the automation-controller component of Red Hat Ansible Automation Platform 2 lets an auth
An authenticated automation-controller administrator in Red Hat Ansible Automation Platform 2 can turn the administrator
Jinja2 template injection in Ansible Operator Plugins (CWE-1336) lets an authenticated Kubernetes user who can create or
Missing object-level authorization in the JobTemplate copy endpoint (CopyAPIView) of AWX and Red Hat Ansible Automation
EUVD-2026-47629
GHSA-2jx7-9fh6-5m74
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB