REDHAT-BUG-2467823: Medium severity go net/http ReverseProxy vulnerability
ReverseProxy can forward queries containing parameters not visible to Rewrite functions. When used with a Rewrite function, or a Director function which parses query parameters, ReverseProxy sanitizes the forwarded request to remove query parameters which are not parsed by url.ParseQuery. ReverseProxy does not take ParseQuery's limit on the total number of query parameters (controlled by GODEBUG=urlmaxqueryparams=N) into account. This can permit ReverseProxy to forward a request containing a query parameter that is not visible to the Rewrite function. For example, the query "a1=x&a2=x&...&a10000=x&hidden=y" can forward the parameter "hidden=y" while hiding it from the proxy's Rewrite function.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2467823?
The severity of REDHAT-BUG-2467823 is classified as medium with a score of 4.
How do I fix REDHAT-BUG-2467823?
To fix REDHAT-BUG-2467823, ensure that query parameters are properly validated and sanitized in your implementation of the ReverseProxy.
What are the risks associated with REDHAT-BUG-2467823?
The risks associated with REDHAT-BUG-2467823 include potential exposure of sensitive data through improperly forwarded queries.
What versions of the software are affected by REDHAT-BUG-2467823?
REDHAT-BUG-2467823 affects implementations using the Go net/http ReverseProxy that do not properly handle query parameters.
Is there a workaround for REDHAT-BUG-2467823?
A possible workaround for REDHAT-BUG-2467823 is to implement custom logging and validation on query parameters before forwarding requests.