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

Vulnerabilidad en la opción "csv_escape_formulas" en el "CsvEncoder" en Symfony/Serializer (CVE-2021-41270)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
24/11/2021
Última modificación:
07/11/2023

Descripción

Symfony/Serializer maneja la serialización y deserialización de estructuras de datos para Symfony, un framework PHP para aplicaciones web y de consola y un conjunto de componentes PHP reusables. Symfony versiones 4.1.0 anteriores a 4.4.35 y versiones 5.0.0 anteriores a 5.3.12, son vulnerables a una inyección de CSV, también se conoce como inyección de fórmulas. En Symfony 4.1, los mantenedores añadieron la opción "csv_escape_formulas" en el "CsvEncoder", para prefijar todas las celdas que empiezan con "=", "+", "-" o "@" con un tabulador "\t". Desde entonces, OWASP ha añadido 2 caracteres en esa lista: Tabulador (0x09) y retorno de Carro (0x0D). Esto hace que el anterior carácter de prefijo (Tab "\t") forme parte de los caracteres vulnerables, y OWASP sugiere usar la comilla simple "'" para prefijar el valor. A partir de las versiones 4.4.34 y 5.3.12, Symfony ahora sigue las recomendaciones de OWASP y usa la comilla simple "'" para prefijar las fórmulas y añadir el prefijo a las celdas que empiezan por "\t", "\r" así como "=", "+", "-" y "@"

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:* 4.1.0 (incluyendo) 4.4.35 (excluyendo)
cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:* 5.0.0 (incluyendo) 5.3.12 (excluyendo)
cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*