Application Load Balancer should be configured with defensive or strictest desync mitigation mode
Ensures Application Load Balancers use defensive or strictest desync mitigation mode to protect against HTTP desync attacks. Monitor mode fails: it forwards every request, however malformed, and only counts the ones that do not comply with RFC 7230.
- service
- ELB
- severity
- Medium
- scope
- evaluated in every region
How to fix it
- Can break clients: Strictest also blocks requests that break RFC 7230 but pose no known threat, so a client sending them fails; Defensive lets them through.
In the console
EC2 → Load balancers → the load balancer → Attributes → Packet handling
- Desync mitigation mode
- Defensive (AWS's default), or Strictest
With the AWS CLI
aws elbv2 modify-load-balancer-attributes --load-balancer-arn <load-balancer-arn> --attributes Key=routing.http.desync_mitigation_mode,Value=defensive --region <region>With Terraform
resource "aws_lb" "this" {
subnets = var.subnet_ids
desync_mitigation_mode = "defensive"
}
See which of your accounts this check is failing on.
Book a live scan