Bug 2527139 (CVE-2026-84684) - CVE-2026-84684 automation-controller: automation-controller-container: automation-controller: constructed inventory input inventory attachment checks only read permission on the source inventory, allowing a read-only user to clone another tenant's hos ...
Summary: CVE-2026-84684 automation-controller: automation-controller-container: automa...
Keywords:
Status: NEW
Alias: CVE-2026-84684
Deadline: 2026-10-01
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-01 22:41 UTC by Thomas Eagle
Modified: 2026-09-23 21:07 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:71113 0 None None None 2026-09-23 20:51:10 UTC
Red Hat Product Errata RHSA-2026:71114 0 None None None 2026-09-23 21:07:51 UTC
Red Hat Product Errata RHSA-2026:71115 0 None None None 2026-09-23 20:48:08 UTC

Description Thomas Eagle 2026-09-01 22:41:23 UTC
A flaw was found in automation-controller (AWX). InventoryInputInventoriesList
(awx/api/views/inventory.py) validates only that the attached inventory is not
itself constructed, and InventoryAccess.can_attach (awx/main/access.py) special-
cases only the instance_groups relationship (requiring use_role); the
input_inventories relationship falls through to BaseAccess.can_attach, which
requires only can_change on the constructed inventory and read access on the
source inventory -- not use_role. Consequently a user who administers a
constructed inventory in one organization and holds only Inventory Read on an
inventory in another organization (for example an organization auditor, or a
system auditor with any inventory-admin org) can POST to
/api/controller/v2/inventories/{constructed_id}/input_inventories/ to attach the
foreign inventory; the constructed inventory sync then clones every host and host
variable (including secrets) into the attacker's inventory, and the attacker --
as admin of the constructed inventory -- can launch ad hoc shell commands against
those hosts or bind the inventory to a job template. Discovered internally;
verified live on AAP 2.7 / automation-controller 4.8.1 (a read-only user attached
a foreign inventory (204), cloned a secret host variable, and had an ad hoc shell
command accepted and dispatched against the foreign host); still present on devel.
    Upstream: github.com/ansible/awx (awx/main/access.py InventoryAccess.
              can_attach / BaseAccess.can_attach; awx/api/views/inventory.py
              InventoryInputInventoriesList)

Comment 2 Jon Orris 2026-09-23 20:48:07 UTC
This issue has been addressed in the following products:

  Red Hat Ansible Automation Platform 2.4 for RHEL 8
  Red Hat Ansible Automation Platform 2.4 for RHEL 9

Via RHSA-2026:71115 https://access.redhat.com/errata/RHSA-2026:71115

Comment 3 Jon Orris 2026-09-23 20:51:09 UTC
This issue has been addressed in the following products:

  Red Hat Ansible Automation Platform 2.6 for RHEL 10
  Red Hat Ansible Automation Platform 2.6 for RHEL 9

Via RHSA-2026:71113 https://access.redhat.com/errata/RHSA-2026:71113

Comment 4 Jon Orris 2026-09-23 21:07:49 UTC
This issue has been addressed in the following products:

  Red Hat Ansible Automation Platform 2.5 for RHEL 9
  Red Hat Ansible Automation Platform 2.5 for RHEL 8

Via RHSA-2026:71114 https://access.redhat.com/errata/RHSA-2026:71114


Note You need to log in before you can comment on or make changes to this bug.