← volver
CVE-2021-41270

CSV Injection in Symfony

CVSS 6.5 MEDIUMEPSS 1.4%CWE-1236
En resumen

El codificador CSV de Symfony podía ser explotado para crear archivos de hojas de cálculo maliciosos que ejecuten fórmulas al abrir en Excel u aplicaciones similares. Los caracteres especiales no se escapaban correctamente, permitiendo que atacantes inyecten código ejecutado automáticamente.

Detalle técnico

Vulnerabilidad de inyección CSV en CsvEncoder de Symfony afecta versiones 4.1.0-4.4.34 y 5.0.0-5.3.11. La opción `csv_escape_formulas` no escapaba adecuadamente celdas iniciando con tab (0x09), retorno de carro (0x0D), =, +, -, o @ según recomendaciones OWASP, posibilitando inyección de fórmulas cuando datos CSV deserializados se exportan y abren en aplicaciones de hoja de cálculo. Corregido en versiones 4.4.35 y 5.3.12 adoptando prefijo de comilla simple para todos los caracteres peligrosos.

Resumen generado y traducido por IA a partir de la descripción oficial.
Symfony/Serializer handles serializing and deserializing data structures for Symfony, a PHP framework for web and console applications and a set of reusable PHP components. Symfony versions 4.1.0 before 4.4.35 and versions 5.0.0 before 5.3.12 are vulnerable to CSV injection, also known as formula injection. In Symfony 4.1, maintainers added the opt-in `csv_escape_formulas` option in the `CsvEncoder`, to prefix all cells starting with `=`, `+`, `-` or `@` with a tab `\t`. Since then, OWASP added 2 chars in that list: Tab (0x09) and Carriage return (0x0D). This makes the previous prefix char (Tab `\t`) part of the vulnerable characters, and OWASP suggests using the single quote `'` for prefixing the value. Starting with versions 4.4.34 and 5.3.12, Symfony now follows the OWASP recommendations and uses the single quote `'` to prefix formulas and add the prefix to cells starting by `\t`, `\r` as well as `=`, `+`, `-` and `@`.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Productos afectados
symfony · symfony

¿Quieres saber si tu infraestructura está expuesta a esto?

Hablar con TrueHacking →