Clarification: 1.2.10 "single quote"

Abierto
#3,230 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Estancado

Línea de trabajo

Comience revisando el requisito 1.2.10 en la fuente de ASVS 5.0 y compare sus directrices sobre CSV y hojas de cálculo con RFC 4180. Determine el alcance previsto, los formatos admitidos y si el escape con comillas simples es suficiente; después, actualice el requisito para que sus expectativas de seguridad no sean ambiguas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

2) Awaiting response V1 (prev V5)

1.2.10 Verify that the application is protected against CSV and Formula Injection.
The application must follow the escaping rules defined in RFC 4180 sections
2.6 and 2.7 when exporting CSV content. Additionally, when exporting to CSV
or other spreadsheet formats (such as XLS, XLSX, or ODF), special characters
(including ‘=’, ‘+’, ‘‑’, ‘@’, ‘\t’(tab), and ‘\0’(null character)) must be escaped
with a single quote if they appear as the first character in a field value.

  • Relying only on RFC 4180 and the “leading character” rule may not protect against all injection scenarios, because different applications can interpret CSV data in different ways.
  • Escaping with a single quote at the start isn’t always the best or only defense, especially for more complex formats that have their own structures and formula parsing rules.
  • As far as I know RFC 4180 describes how CSV files are structured,it doesn’t address security measures like escaping for formula injection or other spreadsheet-specific risks.
  • A single quote escape is not a universal solution.
  • The requirement also doesn’t clearly define its scope. This mitigation is only necessary when user-provided data is included in CSV/XLS output. If all the content is system-generated and trusted, this escaping may not be needed.
Lenguaje dominante
HTML
Estrellas
3.8k
Forks
855
Merge medio
1 d 9 h
PR fusionados (30 d)
8

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OWASP/ASVS

Todos los issues de OWASP/ASVS

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.