blob: f504c85e65a35673972b472ce66f8eb8492d1f6c [file] [log] [blame]
id: GO-2024-2608
modules:
- module: github.com/stacklok/minder
versions:
- fixed: 0.0.33
vulnerable_at: 0.0.32
packages:
- package: github.com/stacklok/minder/internal/db
symbols:
- Queries.GetRepositoryByRepoName
- package: github.com/stacklok/minder/internal/controlplane
symbols:
- Server.GetArtifactByName
- Server.GetRepositoryByName
- Server.DeleteRepositoryByName
derived_symbols:
- EntityContextProjectInterceptor
- ProjectAuthorizationInterceptor
- Server.StartGRPCServer
- TokenValidationInterceptor
summary: Minder access control bypass in github.com/stacklok/minder
description: |-
A Minder user can use the endpoints to access any repository in the DB,
irrespective of who owns the repo and any permissions that user may have. The DB
query used checks by repo owner, repo name and provider name (which is always
"github"). These query values are not distinct for the particular user, as long
as the user has valid credentials and a provider, they can set the repo
owner/name to any value they want and the server will return information on this
repo. DeleteRepositoryByName uses the same query and a user can delete another
user's repo using this technique. The GetArtifactByName endpoint also uses
this DB query.
cves:
- CVE-2024-27916
ghsas:
- GHSA-v627-69v2-xx37
credits:
- dmjb
references:
- advisory: https://github.com/stacklok/minder/security/advisories/GHSA-v627-69v2-xx37
- fix: https://github.com/stacklok/minder/commit/45750b4e9fb2de33365758366e06c19e999bd2eb