| - package: net/http/httputil |
| summary: Incorrect sanitization of forwarded query parameters in net/http/httputil |
| Requests forwarded by ReverseProxy include the raw query parameters from the |
| inbound request, including unparsable parameters rejected by net/http. This |
| could permit query parameter smuggling when a Go proxy forwards a parameter with |
| After fix, ReverseProxy sanitizes the query parameters in the forwarded query |
| when the outbound request's Form field is set after the ReverseProxy. Director |
| function returns, indicating that the proxy has parsed the query parameters. |
| Proxies which do not parse query parameters continue to forward the original |
| query parameters unchanged. |
| - Gal Goldstein (Security Researcher, Oxeye) |
| - Daniel Abeles (Head of Research, Oxeye) |
| - report: https://go.dev/issue/54663 |
| - fix: https://go.dev/cl/432976 |
| - web: https://groups.google.com/g/golang-announce/c/xtuG5faxtaU |
| cwe: 'CWE-444: Inconsistent Interpretation of HTTP Requests' |