Skip to content
vetkitChecksChangelogDocumentation

vetkit.nginx.proxy.request-controlled-upstream

nginx proxy_pass takes its upstream host from a request header, query argument or cookie. Any client can make the server send requests to arbitrary internal or external hosts (SSRF / open proxy).

Last updated:

Suite: Security

regex

nginx proxy_pass takes its upstream host from a request header, query argument or cookie. Any client can make the server send requests to arbitrary internal or external hosts (SSRF / open proxy).

Category: SECURITY · Engine rule severity: ERROR

How to fix it

Proxy to a fixed upstream, or map the request value to an allow-list of upstreams with a map block and reject everything else.

References

Source: packages/engine/rules/sast/config.yml.

Generated from shipped rule definitions at build time. Matching is a review signal, not proof of exploitability. “generic” denotes text matching, not complete language or framework coverage. Runtime configuration and available tools affect whether a rule runs.