Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege tenant user
-
DeliverySend named-URL lookup for out-of-scope resource
-
ExploitMiddleware resolves against unfiltered Model.objects
-
ExecutionCompare differential 404 detail string
-
ImpactEnumerate cross-tenant resources and internal hostnames
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Response uniformity
|
| Exploitation Conditions | Requires an authenticated account with at least low-privilege access to the platform (PR:L) and is only meaningful on multi-tenant AAP deployments where the attacker's tenant should be isolated from the resources being enumerated. The specific trigger is the URLModificationMiddleware named-URL resolution path, which queries unfiltered Model.objects before RBAC enforcement; the 403→404 shim only rewrites 403 responses, leaving the pk=0 miss path returning a distinguishable 'Not found.' detail string versus 'No <Model> matches...'. Exploitation is limited to information disclosure (existence of named orgs, credentials, inventories, hosts and internal hostnames) - no resource contents, modification, or availability impact. It does not require user interaction or elevated privileges, but yields value only against a shared/multi-tenant configuration. |
| Impact | This is a genuinely low-priority issue whose signals are internally consistent rather than conflicting. The vendor CVSS of 5.0 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N) describes a network-reachable, low-complexity flaw requiring an authenticated low-privilege account, producing only limited confidentiality impact (C:L) with a scope change (S:C) because one tenant learns of resources belonging to another. The CWE-204 (Observable Response Discrepancy) classification matches the description precisely: the vulnerability is an information oracle, not a code-execution or data-dumping bug. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis.' There is no signal conflict here - the description (differential 404 detail strings revealing resource existence) fully supports the low C:L rating and the S:C cross-tenant scope. The realistic priority is low: an attacker gains only enumeration/reconnaissance value (confirming existence of named orgs, credentials, inventories, hosts, and internal hostnames), not their contents. It is a defense-in-depth / multi-tenant-isolation hardening fix rather than an urgent patch, though multi-tenant AAP operators hosting mutually distrusting tenants should prioritize it higher than single-tenant deployments. |
| Exploit ScenarioDerived | An authenticated low-privilege user on a shared Ansible Automation Platform instance issues named-URL lookups (e.g., for an org, credential, inventory, or host) they have no RBAC access to, then compares the returned 404 detail string - 'Not found.' versus 'No <Model> matches...' - to infer whether the named resource exists anywhere on the platform. By iterating across candidate names, the attacker enumerates internal hostnames and resource inventories belonging to other tenants. No public exploit code was identified, but the technique is trivially scriptable given the described response differential. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Information disclosure in Red Hat Ansible Automation Platform 2 allows an authenticated low-privilege user to enumerate named resources - organizations, credentials, inventories, and hosts - across tenants, including internal hostnames, by observing a response-discrepancy in the URLModificationMiddleware. The middleware resolves named-URL lookups against unfiltered Model.objects before RBAC enforcement, and its 403→404 shim only rewrites 403 responses, so the pk=0 miss path remains distinguishable via 'Not found.' versus 'No <Model> matches...'. Exploitation requires an authenticated account (PR:L per CVSS) and is only meaningful on multi-tenant deployments; it yields existence information only, with no modification or availability impact. No public exploit identified at time of analysis and no CISA KEV status is indicated (no EPSS score was provided).
RemediationAI
No vendor-released patch version is specified in the available data; the primary remediation is to apply the fix when Red Hat publishes it, tracking availability via the advisory at https://access.redhat.com/security/cve/CVE-2026-71458 and Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2512367. In the absence of a patch, the most effective compensating control is to avoid multi-tenant deployments where a low-privilege tenant could enumerate other tenants' resources - either restrict authenticated accounts with PR:L access to trusted administrators only, or run in a single-tenant configuration where the existence disclosure has no cross-tenant value; the trade-off is reduced multi-user functionality. Because exploitation requires an authenticated account (per CVSS PR:L), reducing the number of low-privilege accounts and enforcing least privilege limits exposure. Detection can be improved by monitoring access logs for repeated 404/403 responses against named-URL endpoints (organizations, credentials, inventories, hosts), which may indicate active enumeration; this does not prevent the issue but supports incident response. Network-perimeter controls do not apply because the flaw is an application-layer logic error triggered by authorized requests.
Affected VersionsENISA
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 affected component is the URLModificationMiddleware in Red Hat Ansible Automation Platform 2 (CPE cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*). This middleware intercepts requests and performs named-URL resolution, querying Model.objects for the target resource before RBAC checks are applied. Because the queryset is unfiltered by tenant or privilege, an authenticated user can trigger lookups against resources they should not be able to see. The resulting behavior is a CWE-204 observable response discrepancy: when a resource is missing, one code path returns the generic 'Not found.' message (the pk=0 miss path), while other miss paths return 'No <Model> matches...'. The application attempts to mask existence by converting 403 Forbidden responses into 404 Not Found via a shim, but that shim does not cover the pk=0 miss path, so the differing error detail leaks whether the named resource exists anywhere on the platform. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N confirms network-reachable, low-complexity exploitation by an authenticated user (PR:L) with no user interaction, scope change to other tenants (S:C), and limited confidentiality impact only - no integrity or availability effect. The information disclosed is limited to existence and internal hostname inference, not resource contents.
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:C/C:L/I:N/A:N
Authenticated low-priv user (PR:L) remotely observes a response discrepancy crossing tenant boundaries (S:C) yielding only existence enumeration (C:L), with no integrity or availability impact.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
URLModificationMiddleware resolves named-URL lookups against unfiltered Model.objects before RBAC. The 403→404 shim only rewrites 403 responses, leaving the pk=0 miss path with a different 404 detail string. Differential "Not found." vs "No <Model> matches..." reveals whether a named resource (org, credential, inventory, host) exists anywhere on the platform. Enables cross-tenant internal hostname enumeration.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-85523
GHSA-2wm8-q2cf-p9fx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB