CVE-2026-76648

Automation-controller: automation-controller-container: aap controller: copyapiview.post() missing read authorization check enables job template secret recovery

State
Published
Severity
8.5 High
Published
Sep 23, 2026
Updated
Oct 16, 2026
Reserved
Aug 19, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.18.5 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:Nredhat

Weaknesses

Affected Products

ProductVersions
Red Hat Ansible Automation Platform 2.7Red Hat
  • 1789580684 and laterNot affected
Red Hat Ansible Automation Platform 2Red Hat
    Red Hat Ansible Automation Platform 2Red Hat
      Red Hat Ansible Automation Platform 2Red Hat

        References

        Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.