Description
OpenCSG CSGHub through v2.6.0-ce contains an authorization bypass vulnerability in the unauthenticated file resolve route that allows remote attackers to read private repository files. Attackers can inject a percent-encoded current_user parameter into the file path, which the portal forwards with its server API key, to read files in private model, code or space repositories.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OpenCSG | CSGHub | ≤ v2.6.0-ce | — |
References
- https://github.com/OpenCSGs/csghub/issues/1586 issue-tracking
- https://github.com/OpenCSGs/csghub/blob/v2.6.0-ce/internal/routes/router.go#L302-L303 technical-description
- https://github.com/OpenCSGs/csghub/blob/v2.6.0-ce/internal/handlers/frontend/resolve.go#L138-L151 technical-description
- https://github.com/OpenCSGs/csghub/blob/v2.6.0-ce/pkg/server/backend/csghubserver/download.go#L10-L41 technical-description
- https://github.com/OpenCSGs/csghub-server/blob/v2.6.0-ce/api/middleware/authenticator.go#L210-L226 technical-description
- CSGHub v2.6.0-ce Release Notes release-notes
- https://hackmd.io/@hieund/csghub-private-repo-file-read-idor technical-description
- VulnCheck Advisory: OpenCSG CSGHub through v2.6.0-ce Unauthenticated Private Repository File Read via Resolve Route third-party-advisory