steedos / steedos-platform

Steedos is an open-source alternative to Salesforce Low-Code Platform. 🤖 🎨 🚀 Built on nodejs, mongodb, react, amis.
https://www.steedos.org
Other
1.33k stars 374 forks source link

[Bug]: 安全问题:graphql操作保存对象数据时,未校验数据信息,存在XSS漏洞 #6947

Open hwzero opened 2 weeks ago

hwzero commented 2 weeks ago

Description

安全问题:graphql操作保存对象数据时,未校验数据信息,存在XSS漏洞

修复建议:

  1. ApiGateway统一对请求信息进行过滤,对容易引发XSS的内容的字符进行转义处理
  2. 对于cookies这种重要内容,下发时设置secure 属性和 httpOnly属性,防止XSS代码直接访问其中的敏感信息

Steps To Reproduce 重现步骤

举例:

  1. 公告->编辑
  2. 对标题进行修改,填写 image
  3. 保存后查看
  4. 图片标签加载失败触发 onerror部分的回调函数 image

Version 版本

2.5~2.7

hwzero commented 1 week ago

可以使用 sanitize-html 对输入数据库前 /或者 输出到网页渲染前 对内容进行过滤

hotlong commented 1 week ago

可能需要开通配置入口。 https://github.com/apostrophecms/sanitize-html