No se escapan los valores
@artf ¿Cuáles son tus planes? Porque la vulnerabilidad de GrapesJS a XSS es un problema de seguridad bastante grande
Lee la respuesta completa abajo ↓Pregunta
El código GrapesJS está abierto a problemas con XSS porque los valores se insertan en el DOM sin escapar, por ejemplo, https://github.com/artf/grapesjs/blob/dev/src/assetmanager/view/AssetImageView.js#L30 Si 'model.getFilename()' devuelve '<img src=x onerror=alert(document.cookie)>.jpg', esto puede resultar en una toma de control de la cuenta. En su lugar, el código debería ser, por ejemplo: Problema similar aquí https://github.com/artf/grapesjs/blob/dev/src/assetmanager/view/AssetImageView.js#L15 y la solución serían iguales: Para ser parte del lado guardado, todo lo que se inyecta en código...
Respuestas (4)
@artf ¿Cuáles son tus planes? Porque la vulnerabilidad de GrapesJS a XSS es un problema de seguridad bastante grande
Sí, gracias por el informe, @aimeos lo arreglaré en la próxima versión seguro.
@artf La documentación también utiliza '${var}' para insertar variables en plantillas con frecuencia. Esto también debería cambiarse para evitar que los desarrolladores introduzcan problemas de seguridad sin saberlo.
Gracias por informar de esto, @aimeos. Los problemas de seguridad y dependencias son importantes. El equipo de GrapesJS trabaja activamente para mantener las dependencias actualizadas. Para ti ahora mismo: Ejecutar 'npm audit fix' para ver los parches disponibles Busca una versión más reciente de G...
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3235
"component:update" no se activa cuando se mueven componentes
Extraído de https://github.com/artf/grapesjs/blob/dev/src/editor/index.js#L33 'component:update' - Se activa cuando un componente se actual...
Issue #3618
Tamaño del gestor de estilo no configurado en control de imagen
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el número Seguir las Directrices de CONTRIBUCIÓN https:/...
Issue #3261
Cómo personalizar el formato JS de uvas para añadir estilo
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://...
Issue #5746
El desplazamiento de ColorPicker incorrecto cuando los paneles están fuera del contenedor del editor
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome v122 Enlace de demo reproducible h...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
Vanilla GrapesJS vs GrapesJS With Plugins: What You Actually Get Out of the Box (2026)
New to GrapesJS? See exactly what the stock editor gives you, where it falls short, and which plugins close the gaps — a beginner-friendly 2026 comparison
Tutorial
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
Tutorial
How We Built Composeit in Record Time Using GrapesJS Shadcn
Bypass foundational builder boilerplate and focus on what truly matters.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.