CVE-2026-76648

Description

CopyAPIView (awx/awx/api/generics.py:873) sets permission_classes = (IsAuthenticated,), so DRF's get_object() performs no object-level RBAC. The get() handler (lines 988–991) explicitly guards with request.user.can_access(obj.class, 'read', obj) — but post() (lines 1001–1010) does not. POST only checks:

can_access(model, 'add', create_kwargs_check)

can_access(model, 'copy_related', obj)

For JobTemplate, can_add (awx/awx/main/access.py:1465–1520) gates on

inventory.use_role + project.use_role + execution_environment.read_role — resource-level roles that do not imply read on the source JT — and can_copy_related (1522–1534) checks only credentials.use_role. None of these imply the caller can read the source JT.

Statement

An IMPORTANT severity flaw was found in the Red Hat Ansible Automation Platform automation controller. The CopyAPIView.post() API handler does not verify that the requesting user has read access to the source object before performing a copy operation, while the corresponding GET handler does enforce this check. As a result, an authenticated user holding only Use roles on a shared project and inventory can copy any Job Template built on those resources, including Job Templates they are not permitted to read, and becomes the administrator of the resulting clone. The clone contains the source Job Template's plaintext host_config_key and extra_vars fields, which frequently contain secrets, and the recovered host_config_key can be used to authenticate against the original Job Template's provisioning callback endpoint. This allows a low-privileged authenticated attacker to disclose highly confidential information and gain limited control over cloned resources (CVSS 3.1: 8.5, AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N), which matches the upstream severity. The automation-controller component in Ansible Automation Platform 2.5, 2.6, and 2.7 is affected and fixes are being pursued through the delegated maintenance process. For Ansible Automation Platform 2.4 the fix is deferred, so no update is currently planned for that stream and the authorization gap remains; the residual risk is that users with only resource-level Use roles on shared projects and inventories can recover secrets from Job Templates they cannot read. The automation-controller-cli package in Ansible Automation Platform 2.7 is not affected because the vulnerable code is not in its execution path.

Mitigation

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.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score8.5N/A8.5
Attack VectorNetworkN/ANetwork
Attack ComplexityLowN/ALow
Privileges RequiredLowN/ALow
User InteractionNoneN/ANone
ScopeChangedN/AChanged
ConfidentialityHighN/AHigh
Integrity ImpactLowN/ALow
Availability ImpactNoneN/ANone

Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N

cve.org: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N

Understanding the Weakness (CWE)

Confidentiality

Technical Impact: Read Application Data; Read Files or Directories

An attacker could read sensitive data, either by reading the data directly from a data store that is not restricted, or by accessing insufficiently-protected, privileged functionality to read the data.

Integrity

Technical Impact: Modify Application Data; Modify Files or Directories

An attacker could modify sensitive data, either by writing the data directly to a data store that is not restricted, or by accessing insufficiently-protected, privileged functionality to write the data.

Access Control

Technical Impact: Gain Privileges or Assume Identity; Bypass Protection Mechanism

An attacker could gain privileges by modifying or reading critical data directly, or by accessing privileged functionality.

Availability

Technical Impact: DoS: Crash, Exit, or Restart; DoS: Resource Consumption (CPU); DoS: Resource Consumption (Memory); DoS: Resource Consumption (Other)

An attacker could gain unauthorized access to resources on the system and excessively consume those resources, leading to a denial of service.

Acknowledgements

Red Hat would like to thank Chris Meyers for reporting this issue.

Frequently Asked Questions

Want to get errata notifications? Sign up here.