HIGH 8.8

CVE-2026-56230: Capgo Broken Authorization – Cross-Tenant API Key Impersonation

Capgo versions before 12.128.2 contain an authorization flaw that allows authenticated users to impersonate other tenants' API keys. The vulnerability stems from the middlewareKey() function accepting a client-supplied header (x-limited-key-id) without checking whether the authenticated user actually owns that key. This enables lateral movement across tenant boundaries, letting an attacker access data and resources belonging to other organizations sharing the same Capgo instance.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.8 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses (CWE)
CWE-639
Affected products
0 configuration(s)
Published / Modified
2026-06-30 / 2026-07-01

NVD description (verbatim)

Capgo before 12.128.2 contains a broken object level authorization vulnerability in middlewareKey() that accepts the client-controlled x-limited-key-id header without validating ownership, allowing authenticated users to adopt cross-tenant limited keys. Attackers can supply another tenant's limited key ID to bypass authorization checks and access unauthorized cross-tenant resources across multiple API endpoints.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability is a broken object-level authorization (BOLA) flaw in the middlewareKey() middleware. The middleware accepts the x-limited-key-id HTTP header from client requests but fails to validate that the authenticated user is the rightful owner of the specified limited key. Because the validation is missing, an authenticated attacker can supply another tenant's key ID in the header, causing the middleware to grant authorization as if they possessed that key. This bypasses authorization checks across multiple API endpoints, effectively allowing cross-tenant resource access. The flaw maps to CWE-639 (Authorization Bypass Through User-Controlled Key).

Business impact

This vulnerability enables account takeover and data exfiltration across multiple tenant accounts on a shared Capgo instance. An attacker with valid credentials to one tenant can laterally move to access, modify, or exfiltrate sensitive data belonging to other tenants without their knowledge. For SaaS deployments or multi-tenant environments, this represents a critical breach of data isolation. Regulatory implications include potential violations of data residency and separation requirements under GDPR, HIPAA, or SOC 2 Type II controls.

Affected systems

Capgo versions prior to 12.128.2 are affected. The vulnerability requires an authenticated user account (PR:L in the CVSS vector), meaning it does not affect completely unauthenticated users but does affect any legitimate or compromised account. Multi-tenant Capgo deployments are at highest risk because the flaw enables cross-tenant access.

Exploitability

Exploitation is straightforward for any authenticated user. The attack requires only network access (AV:N), no special conditions (AC:L), and no user interaction (UI:N). An attacker simply needs to craft HTTP requests with a target tenant's key ID in the x-limited-key-id header. The barrier to entry is low: possession of any valid Capgo account. No exploit code or special tooling is required—basic HTTP manipulation suffices. The lack of KEV designation does not reduce the practical exploitability; it reflects only that the vulnerability has not yet been added to CISA's Known Exploited Vulnerabilities catalog.

Remediation

Upgrade Capgo to version 12.128.2 or later immediately. This version includes validation logic in middlewareKey() that verifies the authenticated user's ownership of the supplied limited key before granting authorization. Organizations running multi-tenant Capgo instances should prioritize this patch to restore proper tenant isolation.

Patch guidance

Apply version 12.128.2 or any subsequent release. Before patching, verify your current Capgo version and test the patch in a non-production environment to ensure compatibility with your API integrations. Review your deployment documentation for upgrade procedures specific to your installation method (Docker, package manager, or source build). After patching, conduct a brief functional test of key-based API authentication to confirm the fix does not break legitimate access patterns.

Detection guidance

Look for anomalous x-limited-key-id header values in API logs—specifically, cases where the authenticated user ID does not match the tenant ownership of the supplied key ID. Monitor for cross-tenant API requests originating from a single user account, particularly requests accessing resources outside that user's expected tenant scope. Enable detailed request logging in Capgo if available, capturing both the authenticated user context and the supplied header values. Correlate login events with subsequent unusual API activity to identify compromised accounts being exploited for lateral movement.

Why prioritize this

This is a HIGH-severity vulnerability (CVSS 8.8) affecting tenant isolation in multi-tenant systems. It requires only authentication (not exploitation of a zero-day or unauthenticated path), but the impact is severe: confidentiality, integrity, and availability are all compromised across tenant boundaries. The fix is available and non-disruptive. Organizations running Capgo in multi-tenant mode should treat this as a P1 security issue; single-tenant deployments face lower risk but should still patch promptly.

Risk score, explained

The CVSS 3.1 score of 8.8 reflects the combination of network-accessible attack surface (AV:N), low attack complexity (AC:L), low privilege requirement (PR:L), no user interaction (UI:N), and high impact across all three security attributes (C:H, I:H, A:H). The score is not higher than 9.0+ because the attack requires valid authentication (PR:L) rather than being unauthenticated, and because the scope remains unchanged (S:U)—the attacker accesses their own tenant's resources using misappropriated keys, not escalating to system-level compromise. Nonetheless, HIGH severity and an 8.8 score demand immediate action.

Frequently asked questions

Do I need a valid Capgo account to exploit this vulnerability?

Yes. The vulnerability requires prior authentication (PR:L in CVSS terms). An attacker must possess valid credentials for at least one tenant on the Capgo instance. This makes the threat primarily an insider risk or the result of credential compromise, but once an attacker has a foothold, they can laterally access other tenants' data.

How can I tell if my Capgo instance was compromised before we patched?

Review API access logs for the x-limited-key-id header value and cross-reference it against the authenticated user's assigned tenant. Look for mismatches—cases where an authenticated user supplied a key ID belonging to a different tenant, or where a user accessed resources outside their tenant. Also check for sudden spikes in API requests from unexpected user accounts or unusual geographic locations.

Is upgrading to 12.128.2 safe for production, or should we wait for a point release?

Version 12.128.2 is the fix release itself. You should apply it as soon as possible after testing in a lower environment. The vulnerability's severity and the fact that the patch directly addresses a broken authorization check (not a large refactor) make delay riskier than patching.

Does this vulnerability affect single-tenant Capgo deployments?

Single-tenant deployments face significantly lower risk because there are no other tenants to laterally move to. However, the vulnerability still represents a broken authorization check that could be exploited to escalate privileges or access restricted resources within that single tenant. All deployments should patch for good security hygiene.

This analysis is based on the CVE record and vendor advisory as of the published date. SEC.co makes no warranty regarding the accuracy, completeness, or timeliness of this information. Organizations should verify patch availability and version numbers directly with Capgo's official release notes before deployment. This explainer provides contextual information for security decision-making and does not constitute professional security advice. Always conduct your own risk assessment and testing before applying patches to production systems. Source: NVD (public-domain), retrieved 2026-08-09. Analysis generated by SEC.co (claude-haiku-4-5).