Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-59185— identrail: Cross-tenant GitHub installation binding without ownership verification

Quick assessment

Affected
identrail identrail
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Identrail 是一个面向 AWS、GitHub/OIDC 和 Kubernetes 的机器身份安全平台。在 1.0.2 版本之前, 中默认启用的 接口会从请求体或 请求头中接受 ,但并未验证该安装是否属于调用者的工作空间。 中的 函数虽然严格将 绑定到调用者的租户、工作空间和项目,但在将安装 ID 持久化为调用者的连接之前,仅检查该 ID 是否为正数。 中的 函数会通过 调用 接口来生成访问令牌,该过程使用应用的 JWT。若攻击者是一个已认证的租户,其发起了一次合法连接,便可提供另一客户(非敏感)的安装 ID

CVSS 8.5 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-59185

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
identrail: Cross-tenant GitHub installation binding without ownership verification
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过用户控制密钥绕过授权机制
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
identrail identrail < 1.0.2 -

II. Public POCs for CVE-2026-59185

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-59185

请登录查看更多情报信息。

Other References for CVE-2026-59185 (3)

IV. Related Vulnerabilities