Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

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.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:apple:swift_foundation:*:*:*:*:*:*:*:* 5.7.3 (excluyendo)