Skip to main content

Capgo App EUVDEUVD-2026-87722

| CVE-2026-100628 HIGH
Incorrect Authorization (CWE-863)
2026-09-26 VulnCheck GHSA-38jp-2fr7-m68g
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as org member
  2. Delivery
    POST /apikey with app_id, omit org_id/limited_to_orgs/expires_at
  3. Exploit
    owner org missing from policy validation list
  4. Execution
    expiration check returns early
  5. Impact
    non-expiring app-scoped key persists beyond org policy

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated account that is a member of a Capgo organization which has explicitly enabled require_apikey_expiration and set a max_apikey_expiration_days limit (the policy this flaw defeats). The attacker must call POST /apikey supplying app_id while deliberately omitting org_id, limited_to_orgs, and expires_at - this specific parameter combination causes the owner org to be excluded from validateExpirationAgainstOrgPolicies. Limiting factors: the actor must already hold valid org credentials with permission to create app-scoped keys (PR:L), the target org must actually have the expiration policy configured (otherwise there is nothing to bypass), and the resulting key grants no privileges beyond what the member could already scope - the only gain is indefinite key lifetime. Fixed in version 12.128.12.

Impact

This is CWE-863 (improper authorization) mislabeled as 'Authentication Bypass' - no authentication is defeated. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms a low-privileged authenticated org member is the attacker, so this is NOT remote-unauthenticated. The vendor's 8.7 CRITICAL rating rests on VC:H/VI:H/VA:H, which is generous and internally inconsistent with the actual flaw: the bug does NOT grant any new access. The created key is app-scoped to exactly what the member could already scope it to; the only thing bypassed is the organization's expiration policy, so the marginal impact is a credential that lives longer than the org intended, extending the exposure window if it later leaks. Real technical impact is therefore Low (C:L/I:L), not High. No EPSS score, no CISA KEV listing, and no public POC are present in the input - meaning no evidence of active exploitation or automatable mass abuse. Weighing all signals: this is a governance/policy-control weakness with low real-world urgency, not the CRITICAL the raw score implies. Note the discrepancy explicitly: vendor VC:H/VI:H/VA:H overstates impact versus a description that only shows an expiration-policy bypass by an already-authorized member.

Exploit ScenarioDerived

An authenticated member of an organization that has enforced API-key expiration (require_apikey_expiration with a max_apikey_expiration_days limit) calls POST /apikey supplying only app_id and omitting org_id, limited_to_orgs, and expires_at. The validateExpirationAgainstOrgPolicies check receives an empty org-ID list and returns early, so the server issues a permanent, non-expiring app-scoped key that outlives the organization's rotation policy. No public exploit code is identified at time of analysis; exploitation requires an existing valid org account.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 26, 2026

Improper authorization in Capgo App before 12.128.12 allows an authenticated organization member to mint a non-expiring, app-scoped API key even when the owning organization has enabled require_apikey_expiration and configured a max_apikey_expiration_days limit. The POST /apikey handler resolves the target app from the supplied app_id but omits the owning organization from the list passed to validateExpirationAgainstOrgPolicies when org_id, limited_to_orgs, and expires_at are absent, so the validation returns early and the expiration policy is silently skipped. Exploitation requires a valid org account with permission to create app-scoped keys and an organization that actually has the policy configured; the only privilege gained is indefinite key lifetime, and no public exploit code was identified at time of analysis. The vendor fixed the issue in version 12.128.12.

RemediationAI

Vendor-released patch: upgrade Capgo App to 12.128.12, which adds the app's owner organization to the ID list evaluated by validateExpirationAgainstOrgPolicies so the expiration policy can no longer be skipped (see https://github.com/Cap-go/capgo.app/security/advisories/GHSA-j6p6-qqcg-3fwp). Where immediate upgrade is not possible, compensating controls should target the specific bypass: audit and revoke or rotate all app-scoped API keys created without an explicit expires_at, since they are the artifacts this flaw produces - note that revoking keys may disrupt CI/CD pipelines that depend on them, so inventory consumers first; restrict key-creation rights to a trusted subset of org members to reduce the pool of accounts able to trigger the path, at the cost of added administrative friction; and, as a compensating detection, monitor POST /apikey calls that carry app_id while omitting org_id and expires_at and alert on any resulting keys with no expiration, accepting that this is detective rather than preventive. The root fix remains upgrading to 12.128.12; the VulnCheck advisory at https://www.vulncheck.com/advisories/capgo-app-before-12.128.12-authentication-bypass-via-apikey provides additional context. No public exploit code was identified at time of analysis.

Affected VersionsENISA

capgo.app 0 <12.128.12

Affected Packages

euvd capgo_app fix: 12.128.12

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is CWE-863 (incorrect authorization), a server-side logic failure in Capgo App's API key creation endpoint rather than a true authentication bypass, despite the 'Authentication Bypass' tag applied by the reporting feed - no authentication control is defeated here. The request path POST /apikey builds the set of organization IDs used by validateExpirationAgainstOrgPolicies; when a caller supplies app_id but deliberately omits org_id, limited_to_orgs, and expires_at, the code resolves and scopes the key to the target app but never appends the app's owner organization to that list. With an empty list the expiration validation short-circuits and returns success, so require_apikey_expiration and max_apikey_expiration_days are never applied. The affected package is tracked as cpe:2.3:a:cap-go:capgo.app (all versions prior to 12.128.12). Note that the published CVSS 4.0 score of 8.7 (VC:H/VI:H/VA:H) overstates real-world impact relative to the independent assessment, which rates the issue CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - the flaw grants no capability beyond what the member could already scope, only an unbounded key lifetime.

Know when Cap Go gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated org member (PR:L) over the API (AV:N/AC:L); the flaw only bypasses an expiration policy granting a longer-lived credential, so impact is limited to C:L/I:L with no availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 26, 2026 - 14:02 EUVD
CVE Published
Sep 26, 2026 - 13:23 cve.org
HIGH 8.7

DescriptionCVE.org

capgo.app before 12.128.12 fails to enforce an organization's API key expiration policy when creating app-scoped API keys. In the POST /apikey endpoint, requests that supply app_id but omit org_id, limited_to_orgs, and expires_at resolve the target app and scope the key to it, but never add the app's owner organization to the list of organization IDs passed to validateExpirationAgainstOrgPolicies; because that list is empty, the validation returns early. As a result, an authenticated organization member can create a non-expiring app-scoped API key even when the owning organization has require_apikey_expiration enabled and a max_apikey_expiration_days limit configured. The issue is fixed in version 12.128.12.

Technical POC Analysis

CWE-863 (Incorrect Authorization): an authorization check exists but is performed against an empty input set, so it silently no-ops.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A configuration-enforcement flaw in Capgo App (fixed in 12.128.12) lets an organization member with key-creation rights issue a never-expiring, app-scoped API key even when the organization has explicitly required key expiration. The practical consequence is that a governance control leadership relies on to limit credential lifetime can be silently bypassed, leaving standing credentials that outlive staff changes, offboarding, and incident rotations. Exposure is limited to organizations that both hold a Capgo App deployment below 12.128.12 and have the expiration policy enabled, and no public exploit code was identified at time of analysis.

Business Impact: Medium
Compensating Controls

Apply vendor patch (upgrade Capgo App to 12.128.12 or later).

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
Niche Capacitor OTA/live-update backend for mobile developers, limited enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Cap Go

View all
CVE-2026-88864 CRITICAL
9.3 Sep 10

Improper access control in Capgo (capgo.app) lets any holder of an ordinary full API key forge a trusted SSO provider by

CVE-2026-88860 CRITICAL
9.3 Sep 10

Authorization bypass in Capgo (capgo.app), a live-update/OTA platform for Capacitor mobile apps, allows a de-provisioned

CVE-2026-56081 CRITICAL
9.3 Jun 19

Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a

CVE-2026-56073 CRITICAL
9.3 Jun 19

Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering

CVE-2026-56245 HIGH
8.8 Jun 24

Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing

CVE-2026-100622 HIGH
8.7 Sep 26

Unauthenticated retrieval of deleted over-the-air update bundles from capgo.app through version 12.129.0 is possible via

CVE-2026-100623 HIGH
8.7 Sep 26

Capgo's direct exposure of the public.org_users table through Supabase PostgREST lets an authenticated user who already

CVE-2026-100619 HIGH
8.7 Sep 26

Authenticated principals who hold an app-scoped upload/write/all API key with upload+ rights - or any user granted write

CVE-2026-100614 HIGH
8.7 Sep 26

Cross-tenant metadata modification in Capgo before 12.244.1 allows an authenticated attacker to alter image object metad

CVE-2026-88862 HIGH
8.7 Sep 10

Privilege escalation in the Capgo (capgo.app) backend through version 12.242.4 allows an authenticated API key holder to

CVE-2026-100615 HIGH
8.7 Sep 26

Privilege escalation in Capgo (capgo.app) before 12.267.1 allows a principal holding the apikey_manager role to rotate a

CVE-2026-100617 HIGH
8.7 Sep 26

Authenticated administrators on Capgo (capgo.app) can grant channel-scoped permissions to non-member users because the p

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy