SteadyNode

SteadyNode Blog

Reduce SSRF risk in URL-based monitoring

A defensive checklist for services that fetch user-supplied URLs: validate destinations, control redirects, and isolate outbound requests.

Treat every submitted URL as untrusted

Accept only the protocols and destination formats your monitoring product needs. Resolve hostnames, reject loopback and private network ranges for both IPv4 and IPv6, and account for cloud metadata addresses.

Revalidate the destination at connection time

DNS answers can change between validation and connection. Resolve and validate the destination close to the request, and repeat checks after every redirect instead of inheriting trust from the original URL.

Enforce outbound limits outside the application

Use an egress policy or isolated worker that can reach only approved public destinations. Add strict time, response-size, and redirect limits, and record blocked requests for operational review without exposing internal network details.

Frequently asked questions

Why are uptime monitors exposed to SSRF?

A monitor that fetches customer-provided URLs can be abused to make requests from its network unless destinations and outbound traffic are restricted.

Is blocking private IP ranges sufficient?

No single check is sufficient. Combine protocol and address validation, redirect revalidation, DNS-aware connection controls, and network-level egress restrictions.

Keep investigating

Make critical checks part of your routine

Start with the endpoints and customer journeys that matter most, then build coverage as your services grow.

Create your SteadyNode workspace