Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Resource type:
elbv2_desync_mitigation_modeProvider: AWS
Service:
elbv2Severity: MEDIUM
Resource type:
AwsElbv2LoadBalancerWhat this check verifies
Application Load Balancer settings are reviewed for HTTP desync protections. It evaluatesrouting.http.desync_mitigation_mode for strictest or defensive; when neither is configured, it checks routing.http.drop_invalid_header_fields.enabled is true as a compensating control.
Risk
Lacking robust desync mitigation enables inconsistent HTTP parsing and request smuggling:- Confidentiality: token theft, data exfiltration
- Integrity: cache/queue poisoning, unauthorized actions
- Availability: backend exhaustion and outages
Recommendation
Set ALBs todesync_mitigation_mode=strictest (or defensive if compatibility is required) and keep routing.http.drop_invalid_header_fields.enabled=true.
Apply defense in depth: validate RFC-compliant requests, roll out changes gradually with monitoring, and enforce least privilege on downstream services.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/securityhub/latest/userguide/elb-controls.html#elb-12
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/ELBv2/drop-invalid-header-fields-enabled.html
- https://support.icompaas.com/support/solutions/articles/62000233515-ensure-the-application-load-balancer-is-configured-with-strictest-desync-mitigation-mode
- https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#desync-mitigation-mode
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = elbv2_desync_mitigation_mode. 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