01 漏洞描述
泛微协同管理应用平台e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。 近日,泛微e-cology官方修复了一个XXE漏洞。经过分析和研判,该漏洞利用难度低,可导致远程命令执行或敏感数据泄露,建议尽快修复。
02 漏洞级别
高危
03 影响范围
Ecology 9.x 补丁版本 < 10.58.1
Ecology 8.x 补丁版本 < 10.58.1
04 复现截图
暂未复现
05 修复方案
1、官方修复方案
https://www.weaver.com.cn/cs/securityDownload.asp
说明
*特别说明:
E9系统升级v10.58.1补丁包,升级完成并检测通过后需要使用管理员登录,访问/mobilemode/admin/genStaticpageAll.jsp进行数据初始化,避免移动建模页面异常。[如果升级之前的补丁包已经做过此操作,可不必再次访问。]
0查看安全包是否生效及修复的办法
1、用sysadmin登录系统,访问:/security/monitor/Monitor.jsp;
2、查看【环境信息】tab页,可以看到当前安全包版本;
3、在【安全概要】tab页,可以看到安全包是否生效;
4、如果显示为未开启,在【安全体检】里面点击【检测】,检测后会弹出【修复】按钮,点击【修复】;
5、修复完成后会弹出 具体的修复步骤(主要就是替换文件),按照修复步骤操作即可
6、如果按上面5步修复完成后仍显示未开启,请在【安全开启详情】tab页的第一项点击【开启】。
1请先下载【ECOLOGY安全补丁】和【ECOLOGY安全补丁配置说明】,按照【ECOLOGY安全补丁配置说明】中的【Ecology系统安全安装说明】文件进行部署升级。
2如果是首次打安全补丁包,则在WEB-INF/目录下没有weaver_security_config.xml文件,可以先重启下服务,会自动生成weaver_security_config.xml文件。
3如果有升级系统的KB补丁包或者是进行大版本升级,建议重新从本页面下载最新安全补丁包重新覆盖。
3ECOLOGY安全补丁包可以适应以下版本的ECOLOGY
Resin1.x+Ecology5.0及以上版本
4如果您的e-cology运行在WEBLOGIC环境下,亦可直接打本安全补丁。
5如果系统做了比较多的二次开发,为了保险起见,建议先在生产环境上打上安全补丁包,但延缓启用安全补丁包(可以解决一些无需配置的严重问题,比如敏感信息未授权访问等。但不会影响到系统功能)。在测试环境上对常用功能尤其是二次开发的功能进行测试后再正式启用生产环境上的安全包功能。
6对于有二次开发的客户,打上本安全补丁包后可能的影响及解决方案
1、对于直接传输危险字符(如count(、substr(、等)的sql语句的参数,可能会被安全包拦截;
2、对于从5.0/6.0/7.0升级到8.0的客户,如果二次开发页面采用了GBK编码传输数据,那么中文可能会无法获取到;
3、对于5.0/6.0/7.0的客户,如果二次开发页面采用了UTF-8编码传输数据,那么通过getParameter获取中文时可能会出现乱码。
以上问题的解决方案(具体配置可参考《Ecology系统安全配置说明.docx》中相关章节描述)
1、可以在
ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的<root>节点下面添加类似如下的节点(url中可以使用正则表达式,也可以配置一个目录):<excepts>
如此,该页面的参数将不会进行安全性检查。
<url>/keygenerator/KeyGeneratorOperation.jsp</url>
<url>/keygenerator/KeyGeneratorOriginalOperation.jsp</url>
</excepts>
2、可以在
ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的<root>节点下面添加类似如下的节点(url中可以使用正则表达式,也可以配置一个目录):<dev-list>
如此,该页面的参数将会以GBK的编码接收。
<special>
<encoding>GBK</encoding>
<paths>
<path>/hrm/performance/[a-zA-Z0-9]\.jsp</path>
<path>/hrm/performance/checkScheme/</path>
</paths>
</special>
</dev-list>
3、可以在
ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的<root>节点下面添加类似如下的节点(url中可以使用正则表达式,也可以配置一个目录):<dev-list>
如此,该页面的参数将会以UTF-8的编码接收。
<special>
<encoding>UTF-8</encoding>
<paths>
<path>/messager/</path>
<path>/newportal/contactssearch.jsp/</path>
</paths>
</special>
</dev-list>
7如果系统做了较多的二次开发,请务必仔细阅读《Ecology系统安全配置说明.docx》,掌握二次开发功能受影响时快速通过配置的方式解决问题。
8修改了与安全规则有关的xml文件(请使用Editplus、Notepad++、Ultra等编辑器编辑,不要使用记事本、写字板等工具编辑。)时,修改完成后,可以不需要重启Resin,请用系统管理员登录系统,然后访问:http://oa地址/updateRules.jsp(如:http://e8.e-cology.com.cn/updateRules.jsp),让刚修改的规则库文件即时生效。如果是集群环境,请在每个节点上都执行以下这个jsp。
9更新该安全补丁包后,如果发现http://oa地址/services/无法访问,那么请参照以下步骤添加例外:将需要调用该WEBSERVICE的IP添加到白名单中即可
可以在
ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的<root>节点下面添加类似如下的节点(IP可以指定某个网段,也可以指定具体IP):<webservice-ip-list>
如此,这些IP就能正常访问webservice了。
<ip>80.16.</ip>
</webservice-ip-list>
更新日志
2023-07-11(v10.58.1)
130、优化性能
131、修复XXE注入漏洞
2023-07-07(v10.58.0)
129、修复新发现的安全漏洞(XXE注入漏洞)
2、临时修复方案