API Gateway execute-api endpoint not disabled — CloudFront WAF bypassable
- Severity
- High
- Service
- API Gateway
- Check ID
- APIGW_CLOUDFRONT_BYPASS
What this check finds
This REST API has the default execute-api endpoint enabled. If CloudFront and WAF front this API, attackers can bypass both by calling the execute-api.amazonaws.com URL directly.
Passing looks like: API Gateway execute-api endpoint disabled.
How to fix it
Disable the default endpoint so all traffic must go through your custom domain or CloudFront.
AWS CLI
aws apigateway update-rest-api --rest-api-id API_ID --patch-operations op=replace,path=/disableExecuteApiEndpoint,value=true
Names in capitals are placeholders for your own resource. Review a command before you run it.
AWS console
API Gateway → REST API → Settings → Disable default endpoint.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs
More API Gateway checks
- HighAPI Gateway REST API method has no authorization
- HighHTTP API (v2) has no JWT authorizer configured
- HighPrivate API has no resource policy restricting access
- MediumAPI Gateway custom domain TLS minimum version below 1.2
- MediumAPI Gateway REST API has no request validators configured
- MediumAPI Gateway stage not associated with a WAF Web ACL
- LowAPI Gateway stage does not have access logging enabled
- LowAPI Gateway stage has no method-level throttling configured