Skip to content

Conversation

@domdomegg
Copy link
Member

@domdomegg domdomegg commented Dec 8, 2025

The DNS auth endpoint was vulnerable to resource exhaustion if an attacker controlled a domain with a slow/non-responding authoritative DNS server. Without a timeout, handler goroutines would block on DNS resolution indefinitely, allowing an attacker to pile up goroutines until OOM.

Production is protected by NGINX ingress's default 60s proxy timeout, but this adds defense-in-depth with a tighter 5s bound.

The DNS auth endpoint was vulnerable to resource exhaustion if an attacker
controlled a domain with a slow/non-responding authoritative DNS server.
Without a timeout, handler goroutines would block on DNS resolution
indefinitely, allowing an attacker to pile up goroutines until OOM.

Production is protected by NGINX ingress's default 60s proxy timeout, but
this adds defense-in-depth with a tighter 5s bound. Also fixes the
vulnerability for local development which doesn't have NGINX in front.
@domdomegg domdomegg requested a review from rdimitrov December 8, 2025 13:34
@domdomegg domdomegg merged commit dcb5a6f into main Dec 10, 2025
6 checks passed
@domdomegg domdomegg deleted the adamj/dns-timeout-dos-fix branch December 10, 2025 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants