Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
cognito_user_pool_client_token_revocation_enabledProvider: AWS
Service:
cognitoSeverity: MEDIUM
Categories:
identity-accessResource type:
OtherWhat this check verifies
Amazon Cognito user pool app clients are evaluated for token revocation being enabled viaEnableTokenRevocation.
This identifies whether each client can invalidate refresh tokens and the access/ID tokens derived from them to end user sessions.
Risk
Without token revocation, stolen or residual refresh tokens remain valid until expiry, enabling continued access after sign-out or account disablement. This undermines confidentiality and integrity by permitting unauthorized API calls, data exfiltration, and session hijacking.Recommendation
EnableEnableTokenRevocation: true on all app clients.
Also:
- Use refresh token rotation
- Shorten token lifetimes
- Apply least privilege to scopes
- Enforce user/admin sign-out to terminate sessions
- Monitor for anomalous token reuse
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws cognito-idp update-user-pool-client —user-pool-id <USER_POOL_ID> —client-id <USER_POOL_CLIENT_ID> —enable-token-revocation
References
- https://repost.aws/knowledge-center/cognito-revoke-refresh-tokens
- https://docs.aws.amazon.com/cognito/latest/developerguide/token-revocation.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = cognito_user_pool_client_token_revocation_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks