Vulnerabilidad en Swift Project (CVE-2022-3918)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-74
Neutralización incorrecta de elementos especiales en la salida utilizada por un componente interno (Inyección)
Fecha de publicación:
20/01/2023
Última modificación:
02/04/2025
Descripción
Un programa que utiliza FoundationNetworking en swift-corelibs-foundation es potencialmente vulnerable a la inyección CRLF () en los encabezados URLRequest. En esta vulnerabilidad, un cliente puede insertar una o varias secuencias CRLF en un valor de encabezado URLRequest. Cuando esa solicitud se envía a través de URLSession a un servidor HTTP, el servidor puede interpretar el contenido después del CRLF como encabezados adicionales, o incluso una segunda solicitud. Por ejemplo, considere una URLRequest a http://example.com/ con el método GET. Supongamos que configuramos el encabezado de URLRequest "Foo" con el valor "Bar Extra-Header: Added GET /other HTTP/1.1". Cuando se envía esta solicitud, aparecerá en el servidor como dos solicitudes: GET / HTTP/1.1 Foo: Bar Extra-Header: Added GET /other HTTP/1.1 De esta manera, el cliente puede inyectar encabezados adicionales y crear un solicitud completamente nueva a una ruta separada, a pesar de realizar solo una llamada API en URLSession. Si un desarrollador tiene control total sobre la solicitud y sus encabezados, es posible que esta vulnerabilidad no represente una amenaza. Sin embargo, esta vulnerabilidad aumenta si la entrada del usuario no desinfectada se coloca en los valores del encabezado. Si es así, un usuario malintencionado podría inyectar nuevos encabezados o solicitudes a un servidor intermediario o backend. En este caso, los desarrolladores deben tener especial cuidado al desinfectar la entrada del usuario o actualizar su versión de swift-corelibs-foundation para incluir el parche siguiente.
Impacto
Puntuación base 3.x
8.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:apple:swift_foundation:*:*:*:*:*:*:*:* | 5.7.3 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página