Values are not escaped
问题
GrapesJS 代码存在 XSS 问题,因为值插入 DOM 时不会逃逸,例如 https://github.com/artf/grapesjs/blob/dev/src/assetmanager/view/AssetImageView.js#L30 如果“model.getFilename()”返回“<img src=x onerror=alert(document.cookie)>.jpg',可能会导致账户被接管。相反,代码应当是例如: 这里也有类似的问题 https://github.com/artf/grapesjs/blob/dev/src/assetmanager/view/AssetImageView.js#L15,解决办法是一样的: 要成为存档端之一,所有注入HTML代码的内容都必须被转写。
回答(4)
@artf 你的计划是什么?因为GrapesJS对XSS的脆弱性是一个相当严重的安全问题
是的,谢谢你的报告@aimeos我一定会在下一版里修正
@artf 文档中还经常使用“${var}'来在模板中插入变量。这也应该改变,以避免开发者在不知情的情况下引入安全问题。
谢谢你举报,@aimeos。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下触发 保持最新: 关注GrapesJS的新发布 订阅仓库的安全通知 团队在发布周期中优先考虑安全更新
相关问答
通过相似的问题讨论继续研究。
问题 #4411
XSS when add class name to Selector Manager
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v102 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?选择任意组件像 <a href="#"onclic...
问题 #4434
CSS 解析器的 shape 不允许 CSS 属性被定义超过一次。
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? 任何可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 这个漏洞和 ParserCss.js有关。 https://github.com/artf/...
问题 #4765
The documented way to parse @keyframes does not work
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome v107描述一下那个虫子 如何复现这个漏洞?按照以下说明[这里](https://grapesjs.com/docs/guides/Custom-CSS-parser.html...
问题 #3235
“component:update”在组件移动时不会触发
摘自 https://github.com/artf/grapesjs/blob/dev/src/editor/index.js#L33'component:update' - 当组件被更新(移动、样式等)时触发,模型作为参数传递给回调 重现这个bug使用“move”API 移...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
教程
2026年构建一个SaaS页面构建器需要多少钱?
2026年构建一个SaaS页面构建器的成本是多少?探索实际的开发成本、时间表、功能,以及使用 GrapesJS 如何降低成本
教程
PageKit:你无论如何都得自己开发 GrapesJS 应用
一个围绕开源GrapesJS核心的源代码可用Next.js应用——发布、自定义域名、潜在客户、结账和插件加载器。
浏览插件分类
直接跳转到市场上的插件分类页面。