nuvaweb

¿Cómo permitir subir imágenes SVG en WordPress?

Wordpress no permite de forma predeterminada subir archivo SVG, ya que hay un criterio de seguridad con respecto a este tipo de archivos. En este artículo te enseñaré cómo habilitarlo en Wordpress y la consideración de seguridad que debes tener en cuenta.

Un archivo SVG no es lo mismo que un archivo de imagen como JPEG o PNG; en cambio, es más similar a un documento PDF en el sentido de que contiene instrucciones sobre cómo dibujar la imagen en lugar de una imagen en sí.

Teniendo en cuenta lo anterior, paso a indicar cómo habilitar el soporte SVG en WordPress.

Solución permitir subir imágenes SVG

Habilitar soporte SVG por código

Para permitir subir imágenes SVG en WordPress mediante código, solo deberás añadir lo siguiente en tu archivo fuctions.php o en un plugins especializado.

function cc_mime_types($mimes) {
 $mimes['svg'] = 'image/svg+xml';
 return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');

Importante: Esto valida la subida de archivos con extensión SVG en WordPress. Pero no analiza los ficheros SVG, por lo que utiliza este código cuando estés seguro del proveedor de imágenes SVG.

Habilitar soporte SVG con plugin

Puedes descargar de forma gratuita el plugin Safe SVG en el repositorio de WordPress. La ventaja de este plugin es que aparte de permitir subir archivos SVG, analiza que el archivo no contenga código malicioso para evitar que las vulnerabilidades SVG/XML afecten tu sitio web.

No necesitas realizar ninguna configuración adicional, el plugin realizará el proceso cada vez que se suba un archivo SVG.

¿Por qué los archivos SVG son inseguros?

Los archivos SVG (Scalable Vector Graphics) en sí mismos no son inseguros. De hecho, son un formato de gráficos vectoriales ampliamente utilizado y son una opción segura para el uso en la web y en aplicaciones móviles.

Sin embargo, los archivos SVG tienen un formato XML, es decir, un marcado de texto que contiene todas las reglas y opciones que permiten formar el gráfico.

Al tener este tipo de configuración, permite incrustar por terceras personas, código malicioso o elementos que pueden ser utilizados para realizar ataques de phishing o para instalar malware en un dispositivo.

Por lo tanto, es importante asegurarse de que los archivos SVG que se descargan o utilizan provienen de fuentes confiables y de que se han verificado para asegurarse de que no contienen código malicioso.

Además, aunque los archivos SVG son generalmente seguros, es importante tener en cuenta que pueden ser utilizados para realizar ataques de inyección de código, especialmente si se usan en conjunción con otros lenguajes de programación como JavaScript. Éstas incluyen ataques de entidades externas XML (XXE), y ataques XSS.

En definitiva, es importante asegurarse de validar y sanear adecuadamente cualquier entrada de usuario o código que se use con archivos SVG para evitar posibles vulnerabilidades de seguridad.