{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-120426","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","state":"PUBLISHED","assignerShortName":"VulnCheck","dateReserved":"2026-11-02T12:42:10.388Z","datePublished":"2026-11-02T14:28:52.258Z","dateUpdated":"2026-11-02T14:28:52.258Z"},"containers":{"cna":{"providerMetadata":{"orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","shortName":"VulnCheck","dateUpdated":"2026-11-02T14:28:52.258Z"},"datePublic":"2026-10-31T00:00:00.000Z","title":"OpenCSG CSGHub through v2.6.0-ce Unauthenticated Private Repository File Read via Resolve Route","descriptions":[{"lang":"en","value":"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."}],"problemTypes":[{"descriptions":[{"lang":"en","description":"Authorization Bypass Through User-Controlled Key","cweId":"CWE-639","type":"CWE"}]}],"affected":[{"vendor":"OpenCSG","product":"CSGHub","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"v2.6.0-ce","status":"affected","versionType":"custom"}],"repo":"https://github.com/OpenCSGs/csghub"}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.7,"baseSeverity":"HIGH"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH"}}],"references":[{"url":"https://github.com/OpenCSGs/csghub/issues/1586","tags":["issue-tracking"]},{"url":"https://github.com/OpenCSGs/csghub/blob/v2.6.0-ce/internal/routes/router.go#L302-L303","tags":["technical-description"]},{"url":"https://github.com/OpenCSGs/csghub/blob/v2.6.0-ce/internal/handlers/frontend/resolve.go#L138-L151","tags":["technical-description"]},{"url":"https://github.com/OpenCSGs/csghub/blob/v2.6.0-ce/pkg/server/backend/csghubserver/download.go#L10-L41","tags":["technical-description"]},{"url":"https://github.com/OpenCSGs/csghub-server/blob/v2.6.0-ce/api/middleware/authenticator.go#L210-L226","tags":["technical-description"]},{"url":"https://github.com/OpenCSGs/csghub/releases/tag/v2.6.0-ce","tags":["release-notes"],"name":"CSGHub v2.6.0-ce Release Notes"},{"url":"https://hackmd.io/@hieund/csghub-private-repo-file-read-idor","tags":["technical-description"]},{"name":"VulnCheck Advisory: OpenCSG CSGHub through v2.6.0-ce Unauthenticated Private Repository File Read via Resolve Route","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/opencsg-csghub-through-2.6.0-ce-unauthenticated-private-repository-file-read-via-resolve-route"}],"credits":[{"lang":"en","value":"hieuPenguinnn","type":"finder"}],"x_generator":{"engine":"vulncheck-endgame"}}}}