Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Cap-go | capgo.app | < 12.128.12 | 12.128.12 |
References
- GitHub Security Advisory (GHSA-j6p6-qqcg-3fwp) vendor-advisory
- VulnCheck Advisory: capgo.app before 12.128.12 Authentication Bypass via apikey third-party-advisory