Distribution is a toolkit to pack, ship, store, and deliver container content. Prior to 3.1.0, distribution can restore read access in repo a after an explicit delete when storage.cache.blobdescriptor: redis and storage.delete.enabled: true are both enabled. The delete path clears the shared digest descriptor but leaves stale repo-scoped membership behind, so a later Stat or Get from repo b repopulates the shared descriptor and makes the deleted blob readable from repo a again. This vulnerability is fixed in 3.1.0.
The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Distribution | Distribution | * | 3.1.0 (excluding) |
| Red Hat OpenShift Container Platform 4.12 | RedHat | openshift4/ose-operator-lifecycle-manager:1781122773 | * |
| Red Hat OpenShift Container Platform 4.13 | RedHat | openshift4/ose-operator-lifecycle-manager:1781123052 | * |
| Red Hat OpenShift Container Platform 4.14 | RedHat | openshift4/ose-operator-lifecycle-manager:1781833795 | * |
| Red Hat OpenShift Container Platform 4.15 | RedHat | openshift4/ose-operator-lifecycle-manager-rhel9:1779915499 | * |
| Red Hat OpenShift Container Platform 4.16 | RedHat | openshift4/ose-operator-lifecycle-manager-rhel9:1780957268 | * |
| Docker-registry | Ubuntu | esm-apps/xenial | * |
Access control involves the use of several protection mechanisms such as:
When any mechanism is not applied or otherwise fails, attackers can compromise the security of the product by gaining privileges, reading sensitive information, executing commands, evading detection, etc. There are two distinct behaviors that can introduce access control weaknesses: