An issue was discovered in Squid before 4.13 and 5.x before 5.0.4. Due to incorrect data validation, HTTP Request Splitting attacks may…
mitre·CWE-697·Published 2020-09-02
An issue was discovered in Squid before 4.13 and 5.x before 5.0.4. Due to incorrect data validation, HTTP Request Splitting attacks may succeed against HTTP and HTTPS traffic. This leads to cache poisoning. This allows any client, including browser scripts, to bypass local security and poison the browser cache and any downstream caches with content from an arbitrary source. Squid uses a string search instead of parsing the Transfer-Encoding header to find chunked encoding. This allows an attacker to hide a second request inside Transfer-Encoding: it is interpreted by Squid as chunked and split out into a second request delivered upstream. Squid will then deliver two distinct responses to the client, corrupting any downstream caches.
An issue was discovered in Squid before 4.13 and 5.x before 5.0.4. Due to incorrect data validation, HTTP Request Splitting attacks may succeed against HTTP and HTTPS traffic. This leads to cache poisoning. This allows any client, including browser scripts, to bypass local security and poison the browser cache and any downstream caches with content from an arbitrary source. Squid uses a string search instead of parsing the Transfer-Encoding header to find chunked encoding. This allows an attacker to hide a second request inside Transfer-Encoding: it is interpreted by Squid as chunked and split out into a second request delivered upstream. Squid will then deliver two distinct responses to the client, corrupting any downstream caches.
Se detectó un problema en Squid versiones anteriores a 4.13 y versiones 5.x anteriores a 5.0.4. Debido a la comprobación de datos incorrecta, los ataques de División de Peticiones HTTP pueden tener éxito contra el tráfico HTTP y HTTPS. Esto conlleva al envenenamiento de la caché. Esto permite a cualquier cliente, incluyendo los scripts del navegador, omitir la seguridad local y envenenar la caché del navegador y cualquier caché aguas abajo con contenido de una fuente arbitraria. Squid usa una búsqueda de cadenas en lugar de analizar el encabezado Transfer-Encoding para encontrar codificación fragmentada. Esto permite a un atacante ocultar una segunda petición dentro de Transfer-Encoding: Squid la interpreta como fragmentada y dividida en una segunda petición entregada en sentido ascendente. Squid luego entregará dos respuestas distintas al cliente, corrompiendo cualquier caché aguas abajo
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 2.0 | Primary | NVD | 4.0 | 8.0 | 2.9 | AV:N/AC:L/Au:S/C:N/I:P/A:N |
| 3.1 | Primary | NVD | 6.5 | 2.8 | 3.6 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N |