{"cve":"CVE-2026-59185","nvd":{"published":"2026-10-28T14:17:05.070","modified":"2026-10-28T14:17:05.070","status":"Received","description":"identrail is a machine identity security platform for AWS, GitHub/OIDC, and Kubernetes. Prior to 1.0.2, the default-on `POST /v1/workspaces/:workspace_id/projects/:project_id/github/connect/complete` endpoint in `internal/api/router.go` accepts `installation_id` from the request body or `X-GitHub-Installation-ID` header without verifying the installation belongs to the caller's workspace. `CompleteGitHubConnection` in `internal/api/github_connect.go` rigorously binds `state` to the caller's tenant, workspace, and project, but checks only that the installation ID is positive before persisting it as the caller's connection. `ListInstallationRepositories` in `internal/connectors/github/repositories.go` invokes token creation through `internal/connectors/github/app.go` and `POST /app/installations/{installationId}/access_tokens`, using the application's JWT. An authenticated tenant who starts a legitimate connection can supply another customer's non-secret installation ID to read the victim organization's private repository inventory, content, and metadata or drive posture scans, provided identrail's GitHub App is installed there. The default-off V2 `CompleteGitHubConnector` path shares the installation-ownership gap and additionally matches pending `state` without rechecking caller scope. This issue is fixed in version 1.0.2.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N","score":8.5},"cwes":["CWE-639","CWE-862"],"references":["https://github.com/identrail/identrail/commit/835e40517509d6ef5405c27fbf14f579bedff0e7","https://github.com/identrail/identrail/releases/tag/v1.0.2","https://github.com/identrail/identrail/security/advisories/GHSA-cp3j-m783-3ph5"],"products":[],"source":"nvd","synced_at":"2026-10-28T14:33:46.215572803+00:00"},"epss":null,"kev":null,"osv":[{"id":"GHSA-cp3j-m783-3ph5","url":"https://osv.dev/vulnerability/GHSA-cp3j-m783-3ph5","summary":"Identrail Cross-tenant IDOR: Client-supplied GitHub App installation_id is bound to the caller's workspace without ownership verification","modified":"2026-09-17T17:40:57.250745573Z","packages":[{"ecosystem":"Go","name":"github.com/identrail/identrail","purl":"pkg:golang/github.com/identrail/identrail","ranges":["<1.0.2"],"fixed":["1.0.2"]}]},{"id":"GO-2026-6448","url":"https://osv.dev/vulnerability/GO-2026-6448","summary":"Identrail Cross-tenant IDOR: Client-supplied GitHub App installation_id is bound to the caller's workspace without ownership verification in github.com/identrail/identrail","modified":"2026-09-17T17:30:11.251459067Z","packages":[{"ecosystem":"Go","name":"github.com/identrail/identrail","purl":"pkg:golang/github.com/identrail/identrail","ranges":["<1.0.2"],"fixed":["1.0.2"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}