Bug 2549646 (CVE-2026-109195) - CVE-2026-109195 quay: Repository auto-prune policy UUID IDOR in Quay API
Summary: CVE-2026-109195 quay: Repository auto-prune policy UUID IDOR in Quay API
Keywords:
Status: NEW
Alias: CVE-2026-109195
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-12 13:41 UTC by OSIDB Bzimport
Modified: 2026-10-12 14:23 UTC (History)
1 user (show)

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


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-12 13:41:48 UTC
A flaw was found in Red Hat Quay. The repository auto-prune policy endpoint (GET on /api/v1/repository/<namespace>/<repository>/autoprunepolicy/<policy_uuid>) resolves the policy using the repository name and policy UUID only, without scoping to the authorized namespace. Because repository names are not globally unique (every namespace may have a repository with the same name), a user who is admin of a repository named X in their own namespace can read the auto-prune policy of a repository named X in another namespace by supplying that policy's UUID. The vulnerability is in data/model/autoprune.py in the get_repository_autoprune_policy_by_uuid function, which queries by Repository.name and UUID but never joins to the User table to enforce namespace scoping. The sibling function get_repository_autoprune_policies_by_repo_name correctly scopes by namespace. The PUT and DELETE methods for the same resource are not affected because their model queries are namespace-scoped. Exploitation requires knowledge of the victim policy's random v4 UUID and a repository with a matching name. The leaked data is limited to low-sensitivity policy configuration (prune method, value, tag pattern).


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