{"id":"CVE-2026-100628","published":"2026-09-26T14:16:43.977","lastModified":"2026-09-28T20:57:50.143","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.","cvssScore":4.3,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","cwes":["CWE-863"],"vendors":[],"products":[],"references":[{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-j6p6-qqcg-3fwp","tags":[]},{"url":"https://www.vulncheck.com/advisories/capgo-app-before-12.128.12-authentication-bypass-via-apikey","tags":[]},{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-j6p6-qqcg-3fwp","tags":[]}],"exploitRefs":[{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-j6p6-qqcg-3fwp","tags":[]},{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-j6p6-qqcg-3fwp","tags":[]}],"hasPoc":true,"ai":null}