GrapesJS 问题

已收录 3,464 个 GitHub 问题 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。

找到 12 个问题

🔍 security
#67232026年3月5日作者 tiburciomzt2 个回答
2 个反应

依赖性:grapesjs >=0.21.13 依赖于易受攻击的下划线版本

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge,mozilla 可复制演示链接 匿名 描述一下那个虫子 下拍<=1.13.7 严重程度:高 下拍<=1.13.7 严重程度:高 Underscore在.flatten和.isEqual中具有无限递归,潜在的DoS攻击——https://github.com/advisories/GHSA-qpx9-hpmf-5gmw 修复可通过“NPM审计修复——强制”获得 将安装[email protected],这是个破坏性的变更 nodemodules/下划线 Grapesjs >=0.21.13 这取决于underscore的脆弱版本 nod...

artf

谢谢你的报告@tiburciomzt 该凸起已合并,并将很快发布。

ClaudeCode

谢谢你举报,@tiburciomzt。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下...

#66902026年1月16日作者 HavokInspiration1 个回答
0 个反应

CSP违规

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 143.0.7499.193 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 你好。 如何复现这个漏洞? 导入 GrapesJS 中的 JS 文件 / Node env : 在使用严格CSP规则的网页上,例如: 这样做会导致大量关于内联样式的CSP违规。 问题所在 我们正在考虑在SaaS产品的重大更新中使用GrapesJS,但我们遇到了关于图书馆和CSP规则的大问题。 我们的安全主管要求非常严格的CSP政策,而GrapesJS违反了这些政策。为了让GrapesJS能正常配合我们的基...

ClaudeCode

谢谢你举报,@HavokInspiration。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在...

#66872026年1月13日作者 rhaarhoff1 个回答
0 个反应

依赖:主干撤销已弃用(NPM)——有什么替代方案吗?

GrapesJS版本 0.22.14(最新版本截至2025-11-20) 预期的行为是什么? GrapesJS 安装树中没有弃用依赖(或替换指南/路线图)。 现在的行为如何? 安装[email protected]会发出npm/pnpm弃用警告,因为它依赖于[email protected](在npm上弃用)。 繁殖步骤 PNPM [email protected](或 NPM I [email protected]) 注意主干网[email protected]的弃用警告 补充背景 这本身不是漏洞报告;这是维护/支持风险(供应链问题)。 相关历史问题:#3443 涉及下划线咨询路径;本报告专门讨论软件包弃用状态。 问题:是否有计划移除或替换骨干...

ClaudeCode

谢谢你举报,@rhaarhoff。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下触发...

#60492024年8月7日作者 danstarns1 个回答
0 个反应

依赖关系

目前代码库依赖于过时的依赖关系。该票旨在: 将所有现有依赖更新到最新的稳定版本。 设置Dependabot,未来自动检查和更新依赖。 保持依赖系统的更新将提升安全性、性能以及与其他工具和库的兼容性。Dependabot 将确保依赖保持最新,减少手动更新的需求。

ClaudeCode

谢谢你举报,@danstarns。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下触发...

#57432024年3月11日作者 davidgabrichidze4 个回答
5 个反应

Iframe 属性 src 中的 XSS 漏洞

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge v122 可复制演示链接 https://jsfiddle.net/bwreyq29/1/ 描述一下那个虫子 如何复现这个漏洞? 打开此链接 [https://jsfiddle.net/bwreyq29/1/](https://jsfiddle.net/bwreyq29/1/),附带在“src”属性上的 JavaScript 代码将自动执行。 预期的行为是什么? 这段代码不应该运行 目前的行为如何? 存在XSS漏洞行为准则 [X] 我同意遵守本项目的行为准则

bernesto

我觉得预读解析师这个选项是个很好的主意。它坚持“按功能插入”的概念。 那更新“fromElement”以接受字符串元素ID或布尔值怎么样?如果 bool == true,则和现在一样,解析容器 HTML。 如果字符串 ID,它会使用元素的内容,容器则像现在一样成为编辑器。然后我们可以更新文档,支持HTML脚本模板用于开发。这样可以防止刹车变化,并促进正确的使用。 “''js const editor = Grapesjs.init({ 容器:“#gjs”, fromElem...

artf

完全同意@bernesto的观点,无论我们多么努力让它安全,都永远不够,我也不想让人觉得库“非常安全”,以至于缺少服务器端验证。 当前选项(例如“allowUnsafeAttr”、“allowUnsafeAttrValue”)只避免了基本的常见内容。

bernesto

使用“fromElement”从激活的DOM元素加载时,这种情况是不可避免的。页面元素同步加载和执行。GrapesJS 永远没有机会处理和解除 XSS 的 html。 这个问题需要通过阻止恶意代码永远加载来解决。这应该在服务器存档时处理。但如果客户端需要处理,可以通过用脚本标签包裹代码,然后在加载到编辑器前对代码进行净化,就像这样: https://jsfiddle.net/bernesto/5gcxa0jm/1/ 我确实看到,在初始化时通过“components”属性加载...

#44112022年6月27日作者 zgeist4 个回答
2 个反应

XSS在选择器管理器中添加类名时

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v102 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?选择任意组件在选择器管理器中添加类名,比如“<a href=”#“onclick='alert(123)'>check</a>'点击职业名称后,你收到了提示 预期的行为是什么? 类别名称应避免使用 目前的行为是什么? 类名中的JavaScript运行 需要在模板 https://github.com/artf/grapesjs/blob/dev/src/selector_manager/view/ClassTagVi...

artf

感谢你的报告,下次版本会修复。

Rawne

我还遇到了这个XSS的bug。例如,在组件的类中添加“><img src=x onerror=alert('XSS')>',它也会弹出。

zgeist

非常感谢!

#40762022年1月17日作者 diemkay4 个回答
0 个反应

XSS通过组件属性的漏洞

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 97.0.4692.71 可复制演示链接 https://jsfiddle.net/ovrz5ug2/4/ 描述一下那个虫子 你好——我们在多人游戏场景中使用 GrapesJS 时遇到了这个 XSS 漏洞,几个特权用户可以通过编辑器(即非开发者)对模板和组件进行修改。实际上,这使他们容易受到组织内部攻击,一个用户添加了恶意代码,另一个用户可能发现并运行。 如何复现这个漏洞?在组件的“id”属性中添加恶意代码,可以直接在HTML中或通过特征管理器(并保存)——在这种情况下,'id=“<details/open/ontoggle=alert...

artf

谢谢@diemkay如果你有任何建议,请参考这个问题:https://github.com/artf/grapesjs/issues/3082

diemkay

@artf 谢谢,但我已经看过那个工单了,它并没有涵盖我这里描述的问题。 注入不在实时预览中,而是在样式管理器中,它尝试通过设置“.innerHtml”来显示组件的“id”。

artf

是的,抱歉,关得太早😁了。我会试着在下一个版本修复。

#35962021年7月6日作者 aimeos4 个回答
0 个反应

价值无法逃避

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,...

aimeos

@artf 你的计划是什么?因为GrapesJS对XSS的脆弱性是一个相当严重的安全问题

artf

是的,谢谢你的报告@aimeos我一定会在下一版里修正

aimeos

@artf 文档中还经常使用“${var}'来在模板中插入变量。这也应该改变,以避免开发者在不知情的情况下引入安全问题。

#35582021年6月22日作者 aimeos4 个回答
2 个反应

FATE:支持内容-安全-政策

为了减少在“敌对”环境中(如SaaS平台)中使用编辑器时可能的攻击面,必须支持CSP。这也能防止类似的问题 https://github.com/artf/grapesjs/issues/3082 目前,唯一阻碍有效 CSP 规则的问题是 GrapesJS 代码中使用了“new Function()”,这需要 CSP 规则为“unsafe-eval”。 有没有其他实现方式?

artf

好的,那我会试着在下一个版本修复它。

artf

嗯,我不太确定具体怎么修复,你说“GrapesJS代码中是否使用新Function()”是什么意思?因为源代码里没有这个。

aimeos

后来发现它在dist文件里是因为underscore.js template()方法,它使用了“new Function()”。我认为这将使得在没有“不安全评估”的情况下替换或移除强制执行CSP的依赖变得困难。

#34812021年5月25日作者 zgeist4 个回答
4 个反应

将下线库更新为1.13。*

当前版本存在安全问题 可能是更新到最新版本

igorstasiuk

是的 +1,需要更新到最新的 Underscore 版本

artf

大家好,我把这封邮件作为#3443的重复关闭

kirill-malyhin

渗透测试后也需要修正!

浏览所有主题