A flaw was found in the Pulp package. When a role-based access control (RBAC) object in Pulp is set to assign permissions on its creation, it uses the AutoAddObjPermsMixin
(typically the add_roles_for_object_creator method). This method finds the object creator by checking the current authenticated user. For objects that are created within a task, this current user is set by the first user with any permissions on the task object. This means the oldest user with model/domain-level task permissions will always be set as the current user of a task, even if they didnt dispatch the task. Therefore, all objects created in tasks will have their permissions assigned to this oldest user, and the creating user will receive nothing.
A product defines a set of insecure permissions that are inherited by objects that are created by the program.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Pulp | Pulpproject | - (including) | - (including) |
Red Hat Ansible Automation Platform 1.2 | RedHat | automation-controller | * |
Red Hat Ansible Automation Platform 1.2 | RedHat | python3x-urllib3 | * |
Red Hat Ansible Automation Platform 1.2 | RedHat | python-urllib3 | * |
Red Hat Ansible Automation Platform 1.2 | RedHat | receptor | * |
Red Hat Ansible Automation Platform 2 | RedHat | automation-controller | * |
Red Hat Ansible Automation Platform 2 | RedHat | python3x-django | * |
Red Hat Ansible Automation Platform 2 | RedHat | python3x-pulpcore | * |
Red Hat Ansible Automation Platform 2 | RedHat | python3x-urllib3 | * |
Red Hat Ansible Automation Platform 2 | RedHat | python-django | * |
Red Hat Ansible Automation Platform 2 | RedHat | python-pulpcore | * |
Red Hat Ansible Automation Platform 2 | RedHat | python-urllib3 | * |
Red Hat Ansible Automation Platform 2 | RedHat | receptor | * |