Skip to main content
← All vulnerabilities
CVE-2026-59185EUVD-2026-112081GHSA-CP3J-M783-3PH5

identrail: Cross-tenant GitHub installation binding without ownership verification

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.0.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

Identrail, a machine identity security platform for AWS, GitHub, and Kubernetes, is affected before version 1.0.2 through its GitHub connection flow. An authenticated user could link another organization's GitHub App installation to their own workspace, allowing them to read that organization's private repository data and run posture scans against it.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • identrail identrail

    fixed in 1.0.2

References 3

GitHub · identrail/identrail