Уязвимость внедрения скрытых параметров запроса при использовании ReverseProxy в Go
Описание
В ReverseProxy Go обнаружена уязвимость, при которой перенаправленные запросы включают необработанные параметры запроса из входящего запроса, включая параметры, которые были отклонены модулем net/http
как непарсируемые. Это может позволить внедрение параметров запроса (query parameter smuggling), если прокси пересылает параметры с некорректными значениями.
Исправление
После исправления ReverseProxy выполняет очистку параметров запроса в пересылаемом запросе, если поле Form
исходящего запроса было установлено после завершения функции ReverseProxy.Director
. Если прокси не анализирует параметры запроса, исходные параметры остаются без изменений.
Ссылки
- Patch
- ExploitIssue TrackingThird Party Advisory
- Mailing ListRelease Notes
- Vendor Advisory
- Patch
- ExploitIssue TrackingThird Party Advisory
- Mailing ListRelease Notes
- Vendor Advisory
Уязвимые конфигурации
Одно из
EPSS
7.5 High
CVSS3
Дефекты
Связанные уязвимости
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 an unparsable value. 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.
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 an unparsable value. 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.
Requests forwarded by ReverseProxy include the raw query parameters fr ...
Requests forwarded by ReverseProxy include the raw query parameters from the inbound request, including unparseable parameters rejected by net/http. This could permit query parameter smuggling when a Go proxy forwards a parameter with an unparseable value. 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.
EPSS
7.5 High
CVSS3