【安全通报】DolphinScheduler 漏洞情况说明
Apache DolphinScheduler 社区邮件列表最近通告了 2 个漏洞,考虑到有很多用户并未订阅此邮件列表,我们特地在此进行情况说明:
CVE-2020-11974[1]
漏洞 (CVE-2020-11974[1]) 是与 mysql connectorj 远程执⾏代码漏洞有关,mysql connectorj 漏洞详情请参见:
https://securityonline.info/mysql-connectorj-remote-code-execution-vulnerability/
当选择 MySQL 作为DolphinScheduler 的数据库时,攻击者可通过 jdbc connector 输入参数 {"detectCustomCollations":true,"autoDeserialize":true} 攻击 API Server 服务执行远程代码
影响版本:1.2.0、 1.2.1
修复建议:如果使用 MySQL 作为数据库的伙伴,建议升级到 >=1.3.2 版本同时 MySQL 驱动请选择 >=5.1.41 版本
另如果目前暂不能升级的情况下,可以利用防火墙等技术禁止不明IP访问 API Server 服务所在的 IP 亦可以
备注:此漏洞 mysql connectorj 漏洞不仅影响到 DolphinScheduler 项目,所有您使用到 MySQL 作为数据库的项目都应关注此 mysql connector 漏洞。没有使用 MySQL 的伙伴可以忽略
CVE-2020-13922[2]
漏洞 (CVE-2020-13922[2]) 是 DolphinScheduler 的权限覆盖漏洞,致普通⽤户可通过 API 接口覆盖其他⽤户(包括管理员)的密码,通过 API 接口:/dolphinscheduler/users/update 和参数形如
id=1&userName=xxx&userPassword=xxx&tenantId=xxx等参数 覆盖其他用户的密码
影响版本:1.2.0、1.2.1、1.3.1
修复建议:升级到 >= 1.3.2版本
如果暂时不能升级,请限制为只有管理员机器 IP 可以访问以下路径 API 服务路径:
/dolphinscheduler/users/update /dolphinscheduler/access-token/create /dolphinscheduler/access-token/update /dolphinscheduler/access-token/generate
此外 DolphinScheduler 社区一名热心伙伴非常及时提供了修复后的 1.2.0 和 1.2.1 的漏洞补丁包,直接进行替换 dolphinscheduler-api.jar 即可,下载地址为:
https://github.com/DSExtension/DSCVE-2020-13922
特别感谢
特别感谢漏洞发现者:来自奇安信的伍雄同学和来自数梦工场的许祥同学,他们不仅提供了漏洞的还原过程,也提供了对应的解决办法。整个过程呈现的是十分专业的安全人员的技能和高素质,为中国还有一批这样的白帽子伙伴守护项目的安全而感到骄傲
也十分感谢国内的安全公司及时通知他们的客户注意漏洞防护,其中⽩帽汇监控到对外网开放的也竟然有多达 72 个 DolphinScheduler 服务。再次非常有必要进行强调:十分感谢有如此多的用户将 Apache DolphinScheduler 选型为其公司的大数据任务调度,但必须要提醒的是调度系统属于大数据建设中核心基础设施,请不要将其暴露在外网中。如果必须对外开放,也请做好 IP 防护等必要的安全措施。下文来自⽩帽汇文件
根据⽬前FOFA系统最新数据(⼀年内数据),显示全球范围(title="DolphinScheduler")共有 72 个相关服务对外开放。中国使⽤数量最多,共有 69 个;美国第⼆,共有 2 个。中国⼤陆地区浙江使⽤数量最多,共有 48 个;北京第⼆,共有 8 个;湖北第三,共有 1 个。(此仅为分布情况,⾮漏洞影响情况)
迄今为止,Apache DolphinScheduler(incubator) 社区已经有近 130 位代码贡献者,30 多位非代码贡献者。非常欢迎更多伙伴也能参与到开源社区建设中来,为建造一个更加稳定安全可靠的大数据任务调度系统而努力,同时也为中国开源崛起献上自己的一份力量!
如果对漏洞有任何疑问,欢迎参与讨论,竭诚解决大家的疑虑:
参考:
1. https://lists.apache.org/thread.html/rcbe4c248ef0c566e99fd19388a6c92aeef88167286546b675e9b1769%40%3Cdev.dolphinscheduler.apache.org%3E
2.
https://lists.apache.org/thread.html/rf52404d4318a080ef7c4942d8eea6ea27fb2eb9018b4d4037331c825%40%3Cdev.dolphinscheduler.apache.org%3E